首頁 > 後端開發 > C++ > C#中的類,成員和其他實體的默認訪問修飾符是什麼?

C#中的類,成員和其他實體的默認訪問修飾符是什麼?

Mary-Kate Olsen
發布: 2025-01-29 04:01:08
原創
290 人瀏覽過

What Are the Default Access Modifiers for Classes, Members, and Other Entities in C#?

C# 中的默認訪問修飾符

C# 中的默認訪問修飾符遵循一個原則:每個成員的可訪問性設置為“您可以為該成員聲明的最受限制的訪問權限”。

具體來說,C# 中不同實體的默認訪問修飾符如下:

  • 類 (Classes): internal
  • 方法 (Methods): private
  • 成員 (字段、屬性): private
  • 構造函數 (Constructors): private
  • 委託 (Delegates): private
  • 接口 (Interfaces): 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 節)中所述,默認訪問修飾符會根據聲明上下文而有所不同:

  • 命名空間 (Namespaces): public(不允許訪問修飾符)
  • 類型 (Types): internal(在編譯單元或命名空間中)
  • 類成員 (Class members): private
  • 結構成員 (Struct members): private(因為結構是密封的)
  • 接口成員 (Interface members): public(不允許訪問修飾符)
  • 枚舉成員 (Enumeration members): public(不允許訪問修飾符)

嵌套類型遵循其包含類或結構的可訪問性規則,默認為私有可見性。

以上是C#中的類,成員和其他實體的默認訪問修飾符是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板