存取範圍層級 (C# 參考)
使用存取修飾詞 public
、protected
、internal
或 private
來指定成員的下列其中一個已宣告存取範圍層級。
已宣告存取範圍 | 意義 |
---|---|
public |
未限制存取。 |
protected |
存取限於包含類別或衍生自包含類別的類型。 |
internal |
存取限於目前組件。 |
protected internal |
存取限於目前組件或衍生自包含類別的類型。 |
private |
存取限於包含類型。 |
private protected |
存取限於目前組件內包含類別或衍生自包含類別的類型。 |
一個成員或類型只允許一個存取修飾詞,但合併使用 protected internal
或 private protected
時除外。
命名空間上不允許存取修飾詞。 命名空間沒有存取限制。
根據發生成員宣告的內容,僅允許某些已宣告存取範圍。 如果未在成員宣告中指定任何存取修飾詞,則會使用預設存取範圍。
未巢狀於其他類型中的最上層類型,只能有 internal
或 public
存取範圍。 這些類型的預設存取範圍是 internal
。
巢狀型別 (即其他類型的成員) 可以有下表中所指出的已宣告存取範圍。
成員 | 預設成員存取範圍 | 允許的成員已宣告存取範圍 |
---|---|---|
enum |
public |
無 |
class |
private |
public protected internal private protected internal private protected |
interface |
public |
public protected internal private *protected internal private protected |
struct |
private |
public internal private |
* 具有 private
存取性的 interface
成員必須具有預設實作。
巢狀型別的存取範圍取決於其存取範圍定義域,這是由成員的已宣告存取範圍和立即包含類型的存取範圍定義域所決定。 但是,巢狀型別的存取範圍領域不能超過包含型別 (Containing Type) 的存取範圍領域。
C# 語言規格
如需詳細資訊,請參閱<C# 語言規格>。 語言規格是 C# 語法及用法的限定來源。