C#中的默认访问修饰符
C#中的默認訪問修飾符
1.命名空間下的元素的默認訪問修飾符
?
public : 同一程序集的其他任何代碼或引用該程序集的其他程序集都可以訪問該類型或成員。
internal : 同一程序集中的任何代碼都可以訪問該類型或成員,但其他程序集不可以訪問。
?
2.各類型中的成員的默認訪問修飾符
剩下的修飾符主要是正對繼承這個語言特性的,擁有繼承的類型有兩個類(class)和接口(interface)。public,internal同樣可以用于類型成員。
private : 同一類和結構的代碼可以訪問該類型和成員。
protected : 同一類和派生(繼承特性)類中的代碼可以訪問該類型和成員。
protected internal :? 同一程序集中的任何代碼或其他程序集中的任何派生類都可以訪問該類型或成員。
?
MSDN提示 :
1.) 派生類的可訪問性不能高于其基類型。換句話說,不能有從內部類A 派生的公共類B。如果允許這種情況,將會使A 成為公共類,因為A 的所有受保護的成員或內部成員都可以從派生類訪問。
2.) 成員的可訪問性決不能高于其包含類型的可訪問性。
3.) 可以使用五種訪問類型中的任何一種來聲明類成員(包括嵌套的類和結構)。
?
接口(interface)
接口成員訪問修飾符默認為public,且不能顯示使用訪問修飾符。
?
類(class)
構造函數默認為public訪問修飾符。
析構函數不能顯示使用訪問修飾符且默認為private訪問修飾符。
類的成員默認訪問修飾符為private;
?
枚舉(enum)
枚舉類型成員默認為public訪問修飾符,且不能顯示使用修飾符。
?
結構(struct)
結構成員默認為private修飾符。
結構成員無法聲明為protected成員,因為結構不支持繼承。
?
嵌套類型
嵌套類型的默認訪問修飾符為private。 和類,結構的成員默認訪問類型一致
posted on 2016-10-01 17:49 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏
總結
以上是生活随笔為你收集整理的C#中的默认访问修饰符的全部內容,希望文章能夠幫你解決所遇到的問題。