zoukankan      html  css  js  c++  java
  • c# 的默认访问修饰符小结(转)

    c# 的访问修饰符是private 还是 internal?

    准确的说,不能一概而论。

    [MSDN]

    Classes and structs that are not nested within other classes or structs can be either public or internal. A type declared as public is accessible by any other type. A type declared as internal is only accessible by types within the same assembly. Classes and structs are declared as internal by default unless the keyword public is added to the class definition, as in the previous example. Class or struct definitions can add the internal keyword to make their access level explicit. Access modifiers do not affect the class or struct itself — it always has access to itself and all of its own members.

    类(class)或结构(struct)如果不是在其它类或结构中的话,它的访问类型要不就是internal, 要不就是public;

    换句话说,如果它在其它类或结构中的话,则可以为private 或protected等。下面我说的类和结构,如无特殊说明,均指非"类中类"

    类或结构的默认访问类型是internal.

    类中所有的成员,默认均为private。

    [MSDN]

    Interfaces, like classes, can be declared as public or internal types. Unlike classes, interfaces default to internal access. Interface members are always public, and no access modifiers can be applied.

    Namespaces and enumeration members are always public, and no access modifiers can be applied.

    Delegates have internal access by default.

    Any types declared within a namespace or at the top level of a compilation unit (for example, not within a namespace, class, or struct) are internal by default, but can be made public.

    接口默认访问符是internal

    接口的成员默认访问修饰符是public,也不可能是其他访问修饰符

    命名空间,枚举类型成员默认public,也不可能是其他访问修饰符

    委托,默认internal

    在命名空间内部或编译单元顶部的所有类型,默认是internal,可以人为改为public。

  • 相关阅读:
    ExtJS面向对象
    简单理解Ext.DomQuery操作CSS3选择器
    简单理解Ext.extend
    Pycharm去掉项目所有 # 注释
    windows 杀死进程
    mongo官方企业版安装及数据库授权使用
    python中赋值,深拷贝,浅拷贝区别
    测试驱动开发简单理解
    Flask与WSGI
    Python直接改变实例化对象的列表属性的值 导致在flask中接口多次请求报错
  • 原文地址:https://www.cnblogs.com/muyuqianshan/p/6691206.html
Copyright © 2011-2022 走看看