複製鏈接
請複製以下鏈接發送給好友

partial

(修飾符)

鎖定
partial是局部類型概念中的修飾符,同一個類型的各個部分都必須有,修飾符在編譯的時候仍會將各個部分的局部類型合併成一個完整的類。
外文名
partial
屬    性
計算機術語

partial操作方法

  1. c#2.0引入了局部類型的概念。局部類型允許我們將一個類、接口或結構分成好幾個部分,分別實現在幾個不同的.cs文件中。局部類型適用於以下情況:
(1)類型特別大,不宜放在一個文件中實現。
(2)一個類型中的一部分代碼為自動化工具生成的代碼,不宜與我們自己編寫的代碼混合在一起。
(3)需要多人合作編寫一個類。
局部類型是一個純語言層的編譯處理,不影響任何執行機制--事實上c#編譯器在編譯的時候仍會將各個部分的局部類型合併成一個完整的類。
public partial class Program
( )
static void main(string args)
( )
partial class Program
( )
public void test( )
( )

partial限制

(1)局部類型只適用於類、接口、結構,不支持委託和枚舉。
(2)同一個類型的各個部分必須都有修飾符partial。
(3)使用局部類型時,一個類型的各個部分必須位於相同的命名空間中。
(4)一個類型的各個部分必須同時編譯。

partial注意點

(1)關鍵字partial是一個上下文關鍵字,只有和class、struct、interface放在一起時才有關鍵字的含義。因此partial的引入不會影響現有代碼中名稱為partial的變量。
(2)局部類型的各個部分一般是分開放在幾個不同的.cs文件中,但c#編譯器允許我們將他們放在同一文件中。

partial應用特性

在局部類型上的特性具有“累加”效應。
[Attribute1,Attribute2("hello")]
partial class Class1
[Attribute3,Attribute2("Exit")]
partial class Class1
相當於
[Attribute1,Attribute2("hello"),Attribute3,Attribute2("Exit")]
class Class1

partial修飾符

(1)一個類型的各個部分上的訪問修飾符必須維持一致性。
(2)一個類型有一個部分使用了abstract修飾符,那麼整個類都將被視為抽象類
(3)如果一個類型有一個部分使用了sealed修飾符,那麼整個類都將被視為密封類
(4)一個類的各個部分不能使用相互矛盾的修飾符,比如不能再一個部分上使用abstract,又在另一個部分上使用sealed。