存取範圍層級 (C# 參考)
更新:2007 年 11 月
請使用存取修飾詞 (Modifier) public、protected、internal, 或 private,為成員指定下列其中一個宣告存取範圍。
宣告存取範圍 |
意義 |
---|---|
public |
存取沒有限制。 |
protected |
存取只限於包含的類別或衍生自包含類別的型別。 |
internal |
存取只限於目前的組件。 |
protectedinternal |
存取只限於目前的組件或衍生自包含類別的型別。 |
private |
存取只限於包含類別。 |
除了使用 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 宣告存取範圍