這些東西是基礎中的基礎,基本上是本書都會講這個。但是很多東西到處都有,所以只撿了以下的這些寫下來。
關於類型的可見性和可訪問性
也就是public,internal這種東西,但是還是有個東西要提一下,那就是友元程序集。
利用System.Runtime.CompilerServices中的InternalsVisibleTo這個特性,使得從友元程序集訪問指定程序集的internal類型。(它的作用是通過給定公鑰和友元程序集名稱來訪問internal方法與屬性,其實就是為了讓別的公司的人訪問不了,而自己公司能訪問。)
分部類
partial關鍵字可將一個類、結構或者接口的定義源代碼分散到多個文件中。(如果這個類過大的話)
(其實在《重構》這本書中講過,一個過大的類往往是需要重構的。可能你用partial這種方法解決反而掩蓋了本身需要重構的問題)
partial是C#編譯器階段處理的時候就用到的,此時已然把幾個partial類合在了一起。CLR對此功能一無所知。
關於虛方法
虛方法沒有非虛方法調用快,過多的應用虛方法會降低性能。
定義類的原則
定義類時除非確定要將其作為基類,並允許派生類進行特化,否則應該顯示指定sealed。