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

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

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

説明

public

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

protected

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

internal

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

protected internal

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

private

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

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

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

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

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

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

メンバーとして属する型

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

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

enum

public

なし

class

private

public

protected

internal

private

protected internal

interface

public

なし

struct

private

public

internal

private

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

C# 言語仕様

詳細については、「C# 言語仕様」を参照してください。言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。

参照

関連項目

C# のキーワード

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

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

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

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

public (C# リファレンス)

private (C# リファレンス)

protected (C# リファレンス)

internal (C# リファレンス)

概念

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

その他の技術情報

C# リファレンス