它是一個關鍵字修飾符。可以将類或結構、接口或方法的定義拆分到兩個或更多個源檔案中。 每個源檔案包含類型或方法定義的一部分,編譯應用程式時将把所有部分組合起來。修飾符不可用于委托或枚舉聲明中。
在以下幾種情況下需要拆分類定義:
處理大型項目時,使一個類分布于多個獨立檔案中可以讓多位程式員同時對該類進行處理。
使用自動生成的源時,無需重新建立源檔案便可将代碼添加到類中。 Visual Studio 在建立 Windows 窗體、Web 服務包裝器代碼等時都使用此方法。 無需修改 Visual Studio 建立的檔案,就可建立使用這些類的代碼。
簡單示例
編譯時會對分部類型定義的屬性進行合并;将從所有分部類型定義中對以下内容進行合并:XML 注釋、接口、泛型類型參數屬性、class 特性、成員
它們等效于:
如果将任意部分聲明為抽象的,則整個類型都被視為抽象的。 如果将任意部分聲明為密封的,則整個類型都被視為密封的。
分部類或結構可以包含分部方法。 類的一個部分包含方法的簽名。 分部方法聲明由兩個部分組成:定義和實作。
但是它的限制很多,隻能在部分場景下使用。
分部方法可以是泛型的。 限制将放在定義分部方法聲明上,但也可以選擇重複放在實作聲明上。 參數和類型參數名稱在實作聲明和定義聲明中不必相同。
參考:
https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/partial-classes-and-methods
http://www.cnblogs.com/OpenCoder/archive/2009/10/27/1590328.html