C#类和成员(字段,方法等)的缺省可见性?

我试图找到C#各个方面默认可见性的参考。 类的类型,字段,方法,枚举等

有人可以提供这些列表以及它们的默认可见性(即没有前缀修饰符)吗?


所有您要查找的信息都可以在这里和这里找到(感谢Reed Copsey):

从第一个链接:

直接在名称空间内声明的类和结构 (换言之,不嵌套在其他类或结构中)可以是公共的或内部的。 如果未指定访问修饰符,则内部是默认值

...

类成员和结构成员 (包括嵌套类和结构体)的访问级别默认私有级别。

...

接口默认为内部访问。

...

代表的行为像类和结构。 默认情况下,它们在名称空间内直接声明时具有内部访问权限,嵌套时具有私有权限


从第二个环节:

不嵌套在其他类型中的顶级类型只能具有内部或公共可访问性。 这些类型默认可访问性是内部的

对于嵌套类型:

Members of    Default member accessibility
----------    ----------------------------
enum          public
class         private
interface     public
struct        private

默认情况下,类的访问修饰符是internal 。 这意味着,一个类可以在同一个程序集中访问。 但是,如果我们希望从其他程序集访问该类,那么它必须公开。


来自MSDN:

不嵌套在其他类型中的顶级类型只能具有internalpublic可访问性。 这些类型的默认可访问性是internal


作为其他类型成员的嵌套类型可以具有声明的可访问性,如下表所示。

默认嵌套成员可访问性和允许辅助功能修改器

来源:辅助功能级别(C#参考)(2017年12月6日)

链接地址: http://www.djcxy.com/p/21239.html

上一篇: Default visibility for C# classes and members (fields, methods, etc.)?

下一篇: difference between ObservableCollection and BindingList