【发布时间】:2010-01-25 12:53:45
【问题描述】:
是否可以跨项目有部分类。
例如项目 1 有一个客户类。 Project2 是一个可选模块,它通过附加一个订单类并利用原始客户类来添加到客户类。
【问题讨论】:
-
继承可能是要走的路。
-
通过使用接口也有帮助,因为我使用接口传递 ICustomer
是否可以跨项目有部分类。
例如项目 1 有一个客户类。 Project2 是一个可选模块,它通过附加一个订单类并利用原始客户类来添加到客户类。
【问题讨论】:
您不能使用partial 关键字在项目之间拆分类的代码。 partial 关键字是一个编译器技巧;编译器将从它找到的部分中输出一个类,因此该类的所有部分必须存在于同一个二进制文件中。一旦类被编译,就没有留下它是部分类的痕迹。
如果您想扩展现有类,您需要继承它(如果它不是密封的),或者创建自己的新类,其中包含您希望从中组合信息的类。
【讨论】:
没有。部分类必须在相同的上下文中编译,即程序集。
您可能想要做的是使用Inheritance。
【讨论】:
部分类完全是一个编译器构造 - 它基本上将类定义连接在一起,然后编译它。 .net 中没有“部分类”的概念,因此您不能将部分类拆分到不同的编译单元(项目或程序集)
【讨论】:
您不能在单独的项目中使用部分类。但您可以使用扩展 Class Extensions 或继承或接口
【讨论】: