C# 中的默认访问修饰符
C# 中的默认访问修饰符遵循一个原则:每个成员的可访问性设置为“您可以为该成员声明的最受限制的访问权限”。
具体来说,C# 中不同实体的默认访问修饰符如下:
internal
private
private
private
private
public
例如,以下代码表示一个名为 Outer
的外部类,其中包含一个嵌套类 Inner
和一个私有方法 Foo()
:
<code class="language-csharp">namespace MyCompany { class Outer { void Foo() { } class Inner { } } }</code>
这段代码等效于以下带有显式访问修饰符的代码:
<code class="language-csharp">namespace MyCompany { internal class Outer { private void Foo() { } private class Inner { } } }</code>
此规则的一个例外是,当您为属性的不同部分(通常是 setter)定义不同的可访问性时。例如:
<code class="language-csharp">public string Name { get { ... } private set { ... } // 显式设置为 private }</code>
如 C# 3.0 规范(第 3.5.1 节)中所述,默认访问修饰符会根据声明上下文而有所不同:
public
(不允许访问修饰符)internal
(在编译单元或命名空间中)private
private
(因为结构是密封的)public
(不允许访问修饰符)public
(不允许访问修饰符)嵌套类型遵循其包含类或结构的可访问性规则,默认为私有可见性。
以上是C#中的类,成员和其他实体的默认访问修饰符是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!