2010-01-25 74 views
9

跨項目是否可能有部分班級?跨項目的部分班級

例如項目1有一個客戶類。 作爲可選模塊的Project2通過附加訂單類並利用原始客戶類添加到客戶類。

+1

Inheretance可能是要走的路。 – 2010-01-25 12:56:57

+0

通過使用接口也有所幫助,因爲我使用接口來通過ICustomer – Traci 2016-09-01 00:58:30

回答

16

不能使用partial關鍵字在項目之間拆分類的代碼。關鍵字partial是一個編譯器技巧;編譯器會從它找到的部分中輸出一個單獨的類,因此該類的所有部分必須以相同的二進制文件存在。一旦這個類被編譯完成,就沒有剩餘的部分類了。

如果要擴展現有的類,您需要繼承它(如果它不是密封的),或者創建包含您希望組合信息的類的新類。

+4

+1來提及組合作爲繼承的替代方案。 – Randolpho 2010-01-25 13:01:10

+0

你也可以使用擴展方法來排序或實現這個。 – Hoots 2016-08-05 09:43:24

1

否。部分類必須在相同的上下文中編譯,即彙編。

你可能想要做的是使用Inheritance

1

部分類完全是一個編譯器構造 - 它基本上將類定義連接在一起,然後編譯它。在.net中沒有'partial class'的概念,因此不能在不同的編譯單元(項目或程序集)中拆分部分類