通路修飾符 | 權限說明 |
private | 私有成員,在類的内部才可以通路 |
protected | 保護成員,該類内部和繼承類中可以通路,執行個體不能通路 |
public | 公共成員,完全公開,沒有通路限制 |
internal | 在同一命名空間内可以通路 |
protected internal | 在同一命名空間内和繼承類可以通路 |
權限級别 大→小:
public > protected internal > internal > protected > private
C#中 類(class) 的預設通路修飾符
由類的位置決定
如果類(class),結構(struct),枚舉(enum)是外置的,那修飾符隻有:public 和 internal,預設是internal。
至于 private 和 protected 是用來修飾類的成員。
在外置class前面加 private,protected 根本不會通過編譯!
如果是内置的,就是作為另一個類型的成員,也稱内部類型(inner type)。
這樣的話,修飾符可以是全部可用修飾符,預設是private。
例:
class a {} 類a是internal
class b
{
class a {} 類a是private
}