標籤:style http color 使用 os io for cti
-
public
-
同一程式集中的任何其他代碼或引用該程式集的其他程式集都可以訪問該類型或成員。
-
private
-
只有同一類或結構中的代碼可以訪問該類型或成員。
-
protected
-
只有同一類或結構或者此類的衍生類別中的代碼才可以訪問的類型或成員。
-
internal
-
同一程式集中的任何代碼都可以訪問該類型或成員,但其他程式集中的代碼不可以。
-
protected internal
-
由其聲明的程式集或另一個程式集派生的類中任何代碼都可訪問的類型或成員。 從另一個程式集進行訪問必須在類聲明中發生,該類聲明派生自其中聲明受保護的內部元素的類,並且必須通過派生的類類型的執行個體發生。
這裡主要說一下protected internal,它所限定的存取權限是internal和protected的存取權限的並集,而不是交集,也就是說它的存取權限包括internal的存取權限和
protected的存取權限。可以用以下公式說明它的存取權限:
(protected internal)的存取權限=(internal)的存取權限+(protected)的存取權限
或者可以這麼理解
(protected internal)的存取權限=(internal)的存取權限∪(protected)的存取權限
存取權限的大小比較:
private<protected<protected internal<public或者private<internal<protected internal<public
protected的存取權限和internal的存取權限不具有可比性。
對於存取修飾詞,有以下幾點需要注意:
①一個成員或類型只能有一個存取修飾詞,但使用protected internal組合時除外。
②命名空間上不允許使用存取修飾詞。命名空間沒有訪問限制。
③根據出現成員聲明的上下文,只允許某些聲明的可訪問性。如果在成員聲明中未指定存取修飾詞,則使用預設的可訪問性。不嵌套在其他類型中的頂級類型的可訪問性只能是internal或public。這些類型的預設可訪問性是 internal。巢狀型別是其他類型的成員,它們可以具有下表所示的聲明的可訪問性。
屬於 |
預設的成員可訪問性 |
該成員允許的聲明的可訪問性 |
enum |
public |
無 |
class |
private |
public protected internal private protected internal |
interface |
public |
無 |
struct |
private |
public internal private |