c partial 分部類和分部方法

2021-09-22 17:29:50 字數 1856 閱讀 5853

它是乙個關鍵字修飾符。可以將類或結構、介面或方法的定義拆分到兩個或更多個原始檔中。 每個原始檔包含型別或方法定義的一部分,編譯應用程式時將把所有部分組合起來。修飾符不可用於委託或列舉宣告中。

在以下幾種情況下需要拆分類定義:

簡單示例

public

partial

class

test

public

string name

public

void

showage()

");}

}public

partial

class

test

public

void

shownewage()

");}

private

void

changeage()

}class

program

;test.showage();

test.shownewage();

var info = $"

name:,age:";

console.writeline(info);

}}

編譯時會對分部型別定義的屬性進行合併;將從所有分部型別定義中對以下內容進行合併:xml 注釋、介面、泛型型別引數屬性、class 特性、成員

public

class

testbase

public

inte***ce

itest

[serializableattribute]

public

partial

class

test: testbase

public

string name

public

void

showage()

");}

}[obsoleteattribute]

public

partial

class

test: itest

public

void

shownewage()

");}

private

void

changeage()

}

它們等效於:

[serializableattribute]

[obsoleteattribute]

public

class

test : testbase,itest

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

//

抽象類示例

public

partial

class

ptest {}

public

abstract

partial

class

ptest

class

program

}//密封類示例

public

partial

class

stest

public

sealed

partial

class

stest

//public class subtest: stest

分部類或結構可以包含分部方法。 類的乙個部分包含方法的簽名。 分部方法宣告由兩個部分組成:定義和實現。 

但是它的限制很多,只能在部分場景下使用。

參考:

C partial分部類和分部方法

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

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

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

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

將同乙個類編寫在多個檔案中,類的各個檔名不同,類名相同,類名前加partial關鍵字,這種型別叫分部類。在分部類中可以建立分部方法,方法名前加關鍵字partial,分部方法只能將方法分成兩部分,即宣告部分和實現部分分別位於不同的分部類裡。分部方法可以使靜態方法,但必須是隱式的私有方法,並且無返回值的...