次の方法で共有


アクセシビリティ レベル (C# リファレンス)

更新 : 2007 年 11 月

アクセス修飾子 publicprotectedinternal、または private を使用して、メンバに対する宣言済みのアクセシビリティとして以下のいずれか 1 つを指定できます。

宣言されたアクセシビリティ

説明

public

アクセスの制限はありません。

protected

アクセスは、コンテナ クラス、またはコンテナ クラスから派生した型に制限されます。

internal

アクセスは現在のアセンブリに制限されます。

protectedinternal

アクセスは、現在のアセンブリ、またはコンテナ クラスから派生した型に制限されます。

private

アクセスはコンテナ型に制限されます。

1 つのメンバまたは型に対してアクセス修飾子を 1 つだけ指定できますが、protectedinternal の組み合わせは例外です。

アクセス修飾子は、名前空間では使用できません。名前空間には、アクセス制限はありません。

メンバの宣言が行われるコンテキストに応じて、特定の宣言されたアクセシビリティだけが許可されます。メンバ宣言にアクセス修飾子の指定がない場合には、既定のアクセシビリティが使用されます。

他の型の中の入れ子になっていないトップ レベルの型は、internal または public のアクセシビリティだけを持つことができます。このような型の既定のアクセシビリティは internal です。

他の型のメンバである入れ子にされた型は、次の表に示すように、宣言されたアクセシビリティを持つことができます。

メンバとして属する型

既定のメンバ アクセシビリティ

メンバの許可される宣言されたアクセシビリティ

enum

public

なし

class

private

public

protected

internal

private

protectedinternal

interface

public

なし

struct

private

public

internal

private

入れ子にされた型のアクセシビリティは、アクセシビリティ ドメインに依存します。アクセシビリティ ドメインは、メンバの宣言されたアクセシビリティと、すぐ上位のコンテナ型のアクセシビリティ ドメインによって決定されます。ただし、入れ子にされた型のアクセシビリティ ドメインが、その型を含んでいる型のアクセシビリティ ドメインを上回ることはできません。

C# 言語仕様

詳細については、「C# 言語仕様」の次のセクションを参照してください。

  • 3.5.1 宣言されたアクセシビリティ

  • 3.5.3 インスタンス メンバへのプロテクト アクセス

  • 3.5.4 アクセシビリティの制約

  • 10.3.5 アクセス修飾子

  • 10.3.8.2 宣言されたアクセシビリティ

参照

概念

C# プログラミング ガイド

参照

C# のキーワード

アクセス修飾子 (C# リファレンス)

アクセシビリティ ドメイン (C# リファレンス)

アクセシビリティ レベルの使用に関する制限事項 (C# リファレンス)

アクセス修飾子 (C# プログラミング ガイド)

public (C# リファレンス)

private (C# リファレンス)

protected (C# リファレンス)

internal (C# リファレンス)

その他の技術情報

C# リファレンス