ホームページ > バックエンド開発 > C++ > C#の予期しないデフォルトアクセス修飾子は何ですか?

C#の予期しないデフォルトアクセス修飾子は何ですか?

DDD
リリース: 2025-01-29 04:14:09
オリジナル
982 人が閲覧しました

What Are the Unexpected Default Access Modifiers in C#?

C#

のデフォルトのアクセス装飾 c#royクラス、方法、その他のメンバーへのデフォルトのアクセス、およびそのアプリケーションの保護レベルは予期しない場合があります。

デフォルトのアクセスレベル

C#のデフォルトアクセス修飾子は明示的なステートメントではありませんが、コンテキストに依存します。一般的に言えば、最も制限されたアクセス許可を

byに授与しました。

たとえば、次のコードフラグメントでは、

デフォルトのアクセス修飾子は次のとおりです

アウタークラス:インターネット(同じプログラムへのアクセス可能なアクセス)
<code class="language-csharp">public class Outer
{
    void Foo() {}
    class Inner {}
}</code>
ログイン後にコピー

fooメソッド:プライベート(クラスでアクセス可能)

    内部クラス:プライベート(外側のクラスでのみアクセス可能)
  • 属性アクセス
  • 属性は特別な状況です。属性自体にはパブリックアクセス許可がある場合がありますが、セッターは明示的に制限できます。

ここでは、名前は公開できますが、変更許可はクラス自体に限定されています。 その他の説明

<code class="language-csharp">public string Name
{
    get { ... }
    private set { ... }
}</code>
ログイン後にコピー
命名スペースには、公共のアクセス権が隠されています。

namingスペースまたはコンパイルユニットのタイプは、デフォルトでインターネットアクセス許可を設定します。

クラスメンバーは、デフォルトでプライベートアクセス権を持っています。

インターフェイスとリフトメンバーの非表示式は公開されています。
  • ネストされたタイプは、父親のタイプへのデフォルトのアクセスを継承します。

以上がC#の予期しないデフォルトアクセス修飾子は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート