partial class A 就是說明這是類A 只是一部分。我可以在建立一個類B.cs。在代碼裡也寫partial class A。那麼程式在編譯後。兩個 A中的屬性和方法會合并在一起統一叫做類A的成員。
partial關鍵字 C#2.0提供的新關鍵字,用來將一個class、struct或interface的定義拆分,寫在不同的源檔案中。每個源檔案包含類定義的一部分,編譯應用程式時將把所有部分組合起來。在以下幾種情況下需要拆分類定義:
1.處理大型項目時,使一個類分佈於多個獨立檔案中可以讓多位程式員同時對該類進行處理。
2.使用自動產生的源時,無需重新建立源檔案便可將代碼添加到類中。Visual Studio 在建立 Windows 表單、Web 服務封裝代碼等時都使用此方法。無需編輯 Visual Studio 所建立的檔案,便可建立使用這些類的代碼。
例如:
在Class1.cs中:
namespace vs2012_demo1{ public partial class Class1 { public void ShowMessage1() { System.Windows.Forms.MessageBox.Show("111"); } }}
在Class2.cs中:
namespace vs2012_demo1{ public partial class Class1 { public void ShowMessage2() { System.Windows.Forms.MessageBox.Show("222"); } }}
在Form1中:
public partial class Form1 : Form { Class1 class1; public Form1() { InitializeComponent(); class1 = new Class1(); } private void button1_Click(object sender, EventArgs e) { class1.ShowMessage1(); } private void button2_Click(object sender, EventArgs e) { class1.ShowMessage2(); } }
所以
ShowMessage1()
ShowMessage2()雖然寫在兩個檔案中。但同屬於class1.