ホームページ >バックエンド開発 >C++ >C#のクラス、メンバー、およびその他のエンティティのデフォルトアクセス修飾子は何ですか?

C#のクラス、メンバー、およびその他のエンティティのデフォルトアクセス修飾子は何ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-29 04:01:08295ブラウズ

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

C#

のデフォルトのアクセス装飾 C#のデフォルトアクセス修飾子は、1つの原則に従います。各メンバーのアクセシビリティ設定は、「メンバーに宣言できる最も制限されたアクセス許可」です。

具体的には、C#の異なるエンティティへのデフォルトのアクセスは次のとおりです。

クラス(クラス):

  • method(methods):internal
  • メンバー(field、属性): private
  • constructor(constructor):
  • private代表者:
  • インターフェイス(インターフェイス):private
  • たとえば、次のコードは、ネストされたクラスとプライベートメソッドprivate
  • と呼ばれる外部クラスを表します。
  • このコードは、修飾子への明示的なアクセスを伴う次のコードと同等です。 このルールの例外の1つは、属性の異なる部分(通常はセッター)の異なるアクセシビリティを定義する場合です。たとえば、public
  • C#3.0仕様(セクション3.5.1)で説明されているように、デフォルトのアクセス装飾は、ステートメントのコンテキストによって異なります。

名前空間: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>
structメンバー:

(構造が密閉されているため)

<code class="language-csharp">public string Name
{
    get { ... }
    private set { ... } // 显式设置为 private
}</code>
インターフェイスメンバー:

列挙メンバー:
  • publicネストされたタイプは、クラスまたは構造を含むアクセス可能なルールに従います。デフォルトはプライベートな可視性です。

以上がC#のクラス、メンバー、およびその他のエンティティのデフォルトアクセス修飾子は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。