C 分部類和分部方法的使用

2022-04-30 20:54:12 字數 1599 閱讀 5796

將同乙個類編寫在多個檔案中,類的各個檔名不同,類名相同,類名前加partial關鍵字,這種型別叫分部類。

在分部類中可以建立分部方法,方法名前加關鍵字partial,分部方法只能將方法分成兩部分,即宣告部分和實現部分分別位於不同的分部類裡。分部方法可以使靜態方法,但必須是隱式的私有方法,並且無返回值的方法,因為分部方法時私有方法,所以無法使用virtual修飾符,即不能成為虛方法;分部方法可以有ref引數,但不能有out引數;不允許將委託轉換為分部方法。

下例中首先建立專案partialtypes,主類檔案為program.cs,在專案中新增乙個類檔案singerdefine.cs,類名為singer,再新增另乙個類檔案singerimp.cs,類名為singer。類名前都加partial修飾符

singerdefine.cs檔案裡宣告兩個私有欄位和兩個分布方法,方法名前加關鍵字partial,**如下:

[c-sharp] view plain

copy

using system;  

using system.collections.generic;  

using system.linq;  

using system.text;  

namespace partialtypes  

}  singerimp.cs檔案裡,包含分部方法的實現部分,分部方法組合成乙個新方法,定義兩個屬性對私有字段進行讀寫,**如下:

[c-sharp] view plain

copy

using system;  

using system.collections.generic;  

using system.linq;  

using system.text;  

namespace partialtypes  

】,資料型別是【】", str.tostring(), str.gettype());  

}  partial void getmsgb(int i)  

】,資料型別是【】", i.tostring(), i.gettype());  

}  //宣告getmsg方法,呼叫兩個分部方法  

internal void getmsg(string str, int i)  

//宣告兩個屬性,用於讀取和寫入兩個私有字段  

internal string cn  

set  

}  internal string am  

set  

}  }  }  

主程式檔案呼叫分部類,及分部方法,**如下:

[c-sharp] view plain

copy

using system;  

using system.collections.generic;  

using system.linq;  

using system.text;  

namespace partialtypes  

,am=", sin.cn, sin.am);  

//呼叫getmsg方法  

sin.getmsg("中美合作", 50);  

}  }  

}  執行結果:

分部類(partial class)和分部方法

類的宣告可以分割成幾個分部類的宣告。每個分部類的宣告都含有一些類成員的宣告。類的分部類宣告可以在同一檔案中也可以在不同檔案中。每個區域性宣告必須被標為partial class,而不是單獨的關鍵字class,分部類宣告看起來和普通類宣告相同,除了那個附加型別修飾符partial。分部方法是宣告在分部...

c partial 分部類和分部方法

它是乙個關鍵字修飾符。可以將類或結構 介面或方法的定義拆分到兩個或更多個原始檔中。每個原始檔包含型別或方法定義的一部分,編譯應用程式時將把所有部分組合起來。修飾符不可用於委託或列舉宣告中。在以下幾種情況下需要拆分類定義 簡單示例 public partial class test public st...

C partial分部類和分部方法

1 它是乙個關鍵字修飾符。可以將類或結構 介面或方法的定義拆分到兩個或更多個原始檔中。每個原始檔包含型別或方法定義的一部分,編譯應用程式時將把所有部分組合起來。修飾符不可用於委託或列舉宣告中。在以下幾種情況下需要拆分類定義 注意下面這種情況,分部類分別繼承某介面或某類,等同於乙個類繼承該介面和該類。...