我正在尝试找到C#各个方面的默认可见性的参考。类类型,字段,方法,枚举等。
有人可以提供这些列表及其默认可见性(即没有前缀修饰符)吗?
答案 0 :(得分:240)
您可以找到所有您要查找的信息here和here(感谢Reed Copsey):
从第一个链接:
直接在命名空间内声明的类和结构(换句话说,不嵌套在其他类或结构中)可以是公共的或内部的。 如果未指定访问修饰符,则内部为默认值。
...
类成员和结构成员的访问级别(包括嵌套类和结构)默认情况下为私有。
...
接口默认为内部访问。
...
代理的行为类似于类和结构。默认情况下,它们在命名空间中直接声明时具有内部访问权限,而在嵌套时具有私有访问权限。
从第二个链接:
顶级类型(未嵌套在其他类型中)只能具有内部或公共辅助功能。这些类型的默认可访问性是内部的。
对于嵌套类型:
Members of Default member accessibility ---------- ---------------------------- enum public class private interface public struct private
答案 1 :(得分:9)
默认情况下,类的访问修饰符为internal
。这意味着,一个类可以在同一个程序集中访问。但是,如果我们希望从其他程序集访问该类,则必须将其公开。
答案 2 :(得分:9)
来自MSDN:
顶级类型(未嵌套在其他类型中)只能具有internal
或public
辅助功能。这些类型的默认可访问性为internal
。
<小时/> 嵌套类型(属于其他类型的成员)可以具有已声明的可访问性,如下表所示。
资料来源:Accessibility Levels (C# Reference)(12月6日 th ,2017)
答案 3 :(得分:0)
默认为private
。除非它们是嵌套的,否则类为internal
。