分部類 Partial Classes 原創

2022-09-07 16:36:14 字數 1677 閱讀 1740

分部類

(partial classes)

--不知道總結的怎麼樣^_^

c# 2.0

可以將類、結構或介面的定義拆分到兩個或多個原始檔中,在類宣告前新增

partial

關鍵字即可。

例如:下面的

partialtest

類class partialtest

}可在不同原始檔中寫成下面形式:

乙個檔案中寫:

partial class partialtest

另乙個檔案中寫:

partial class partialtest

}什麼情況下使用分部類?

–處理大型專案時,使乙個類分布於多個獨立檔案中可以讓多位程式設計師同時對該類進行處理(相當於支援並行處理,很實用);

–使用自動生成的源時,無需重新建立原始檔便可將**新增到類中。

visual studio

在建立windows

窗體、web

窗體時都使用此方法。你不用編輯

visual studio

所建立的檔案,便可建立使用這些類的**。換句話說:系統會自動建立乙個檔案(一般記錄的是窗體及窗體中的控制項的屬性),另乙個或幾個檔案記錄的是使用者自己編寫的**。這兩部分分開可以使結構顯得非常清晰,使用者只需關注自己負責的那部分就行了(需要的話,這兩部分可以互相呼叫)。等到了編輯執行的時候,系統會自動將這兩部分合成乙個檔案。

使用partial需要注意以下一些情況:1.

使用partial

關鍵字表明可在命名空間內定義該類、結構或介面的其他部分

2.所有部分都必須使用

partial

關鍵字3.

各個部分必須具有相同的可訪問性,如

public

、private 等4.

如果將任意部分宣告為抽象的,則整個型別都被視為抽象的

5.如果將任意部分宣告為密封的,則整個型別都被視為密封的

6.如果任意部分宣告繼承基類時,則整個型別都將繼承該類

7.各個部分可以指定不同的基介面,最終型別將實現所有分部宣告所列出的全部介面

8.在某一分部定義中宣告的任何類、結構或介面成員可供所有其他部分使用

9.巢狀型別可以是分部的,即使它們所巢狀於的型別本身並不是分部的也如此。如下所示:

class container

partial class nested

}使用分布類的一些限制:

1.要作為同一型別的各個部分的所有分部型別定義都必須使用

partial

進行修飾。如下所示:

public partial class a

public class a // error, must also be marked partial

2. partial

修飾符只能出現在緊靠關鍵字

class

、struct

或inte***ce

前面的位置(列舉或其它型別都不能使用partial);

3. 要成為同一型別的各個部分的所有分部型別定義都必須在同一程式集和同一模組(

.exe

或.dll

檔案)中進行定義。分部定義不能跨越多個模組;

4. 類名和泛型型別引數在所有的分部型別定義中都必須匹配。泛型型別可以是分部的。每個分部宣告都必須以相同的順序使用相同的引數名。

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

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

1 3 8 區域性類(partial class)

partial class 可以用於class struct,方法,inte ce,而且這些類 結構等等不侷限於乙個檔案中。假如您想對由工具生成的類,而不是自己寫的類進行新增內容,但是又不能重新執行該工具產生類,因為會把之前改的丟失掉,那麼這時候您只需要將類改為partial class。再使用 生...

c partial 分部類和分部方法

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