C# 杂项
C# 雜項
1,函數訪問等級必須高于參數等級,如函數等級是PUBLIC,則參數必須高于等于PUBLIC,若為INTERNAL 則不行。
INTERNAL 低于PUBLIC, 用于同一個程序集內引用,PUBLIC則可以被別一個程序集引用
程序集:一個DLL或EXE就是一個程序集,一個EXE可以引用其它的DLL
這就好比大門是對外開放的,說了任何人都可以進,但進門時卻說某些人達不到條件
2,CLASS, STRUCT, DELEGATE及INTERFACE的默認都是INTERNAL, NAMESAPCE默認是PUBLIC且不可以使用任何MODIFER去修飾。ENUM默認也是PUBLIC的,可以修飾。
非嵌套的類或結構,只能是PUBLIC或INTERNAL, 嵌套的可以是其它修飾。
類成員和結構成員默認都是私有的。這里要特別注意:在C++中結構體成員默認為公有類型的。
結構成員不能是PROTECTED, 因為結構不能被繼承。
抽象類的成員函數不能是私有的,必須是public或protected,因為它需要被子類實現
接口的內部成員只能是公有的
Any types declared within a namespace or at the top level of a compilation unit (for example, not within a namespace, class, or struct) are internal by default, but can be made public
來自 <http://meinvchengxuyuan.iteye.com/blog/1612038>
名字空間內的任何類型,以及編譯單元的最高一層(如沒有名字空間,類,或結構時),默認都是INTERNAL的,但可以修飾為PUBLIC。
這句對應了上面的:類,結構,委托,接口默認都是INTERNAL
3,命名空間中不可以直接有變量或函數
4,繼承
??? abstract class IBASE
??? {
??? }
??? abstract class IDBASE
??? {
?????? protected abstract? void abfunc();
??? }
??? sealed class ENTITY :? public IDBASE //錯誤!IDBASE前不能像C++那樣使用PUBLIC等修飾。
??? {
??????? protected override void abfunc() { }
??? }
5,C#中不可能定義全局函數,因為它是全面向對象的,要求所有函數必須在類內部。
?
posted on 2016-10-01 17:45 時空觀察者9號 閱讀(...) 評論(...) 編輯 收藏
總結
- 上一篇: C# 数组
- 下一篇: C#中的默认访问修饰符