C#中的partial關鍵字
阿新 • • 發佈:2020-07-20
這節講一下partial(區域性的,部分的)關鍵字,初學者可能沒有接觸過這個關鍵字,但是隻要你寫過winform或者WPF應用程式的話,那你肯定被動用過這個關鍵字。首先介紹一下這個關鍵字的作用,它用作定義一個部分類,也就是說,對於一個類,你可以寫在不同的檔案中(當然不能超出名稱空間的限定),通過partial宣告,系統就會自動講分佈在不同地方的類聯絡在一起。
窗體應用程式,分為介面檔案(.design)和程式碼檔案(.cs),這兩者之間就是通過partial關鍵字聯絡在一起的,所以這也是為什麼說被動用過的原因。
public partial class MainWindow : Window {}
那麼使用部分類有什麼用處呢,你可以試想,如果一個類的成員過於複雜,不方便管理,那我們就可以將類分開定義,屬性定義在一起,將方法定義在一起,把類分成多個檔案,這樣可以更好的管理程式碼,同時也方便後期維護。
定義部分類要注意,只有有任意一個部分繼承了類或介面,那麼整個類都是繼承此類或介面。
partial關鍵字除了可以定義部分類以外,還可以定義部分方法,部分方法沒有什麼特別的作用,它的分部形式,和類一樣,只不過,部分方法有很多限制,總結如下:
可以為靜態,但是必須是私有方法(private)
不能有返回值
引數可以為ref,但是不能為out
不能使用virtual,abstract,override,new,sealed,或extern修飾符
部分類有這麼多限制,唯一的一點好處是在編譯時,如果部分類程式碼是空的,編譯器會在編譯時完全刪除這個方法及所有引用,這會略微提高效能。
對部分類和部分方法宣告和作用,讀者做了解即可,開發中很少使用。