アクセス変更子

項目のアクセス変更子は、他のコードへの項目の可視性 (アクセス性) を制御します。例えば、public メソッドはどこからでも呼び出すことができますが、private メソッドは、同じタイプ内の他のメソッドからのみ呼び出すことができます。

access-modifier

その他の情報

デフォルトでは、PRIVATE のフィールドを除き、すべてのタイプとメンバは PUBLIC になります。

変更子は、項目の可視性に次のように影響を与えます。

変更子: 項目が表示される状況:
PUBLIC 常時
PRIVATE 呼び出しタイプがターゲット・タイプと同じ場合
PROTECTED 呼び出しタイプがターゲット・タイプから継承する場合
INTERNAL 呼び出しタイプがターゲット・タイプと同じアセンブリ内にある場合
PROTECTED INTERNAL または INTERNAL PROTECTED 呼び出しタイプがターゲット・タイプから派生する場合、または呼び出しタイプがターゲットと同じアセンブリ内にある場合
PUBLIC
該当項目が任意のコードからアクセスできることを示します。
PRIVATE
該当項目が、包含タイプ内からのみアクセスできることを示します。
PROTECTED
該当項目が、包含タイプ内からのみ、または包含タイプから継承するサブタイプからアクセスできることを示します。PROTECTED は抽象メンバで指定できません。PROTECTED は、継承ツリー内にアクセスを制御します。例えば、サブクラス内の保護対象フィールドには任意のサブクラスからアクセスできますが、継承ツリー外のクラスからはアクセスできません。
INTERNAL
該当項目が、現在のコンパイル・ユニット内からのみアクセスできることを示します。
PROTECTED INTERNAL または INTERNAL PROTECTED
該当項目が、包含タイプ内、包含タイプから継承するサブタイプ、または現在のコンパイル・ユニット内からのみアクセスできることを示します。