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中文網其他相關文章!