Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 跨项目的分部类_.net_Mvvm_Projects - Fatal编程技术网

.net 跨项目的分部类

.net 跨项目的分部类,.net,mvvm,projects,.net,Mvvm,Projects,是否可以跨项目使用分部类 e、 g.项目1有一个客户类别。 Project2是一个可选模块,通过附加订单类并利用原始客户类添加到客户类。否。必须在相同的上下文中编译分部类,即汇编 您可能想做的是使用 不能使用partial关键字在项目之间拆分类的代码。partial关键字是一个编译技巧;编译器将从找到的部分中输出一个类,因此该类的所有部分都必须使用相同的二进制文件存在。一旦该类被编译,它就不再是一个分部类了 如果要扩展现有类,您需要继承它(如果它未密封),或者创建自己的新类,其中包含您希望从中组

是否可以跨项目使用分部类

e、 g.项目1有一个客户类别。
Project2是一个可选模块,通过附加订单类并利用原始客户类添加到客户类。

否。必须在相同的上下文中编译分部类,即汇编


您可能想做的是使用

不能使用
partial
关键字在项目之间拆分类的代码。
partial
关键字是一个编译技巧;编译器将从找到的部分中输出一个类,因此该类的所有部分都必须使用相同的二进制文件存在。一旦该类被编译,它就不再是一个分部类了


如果要扩展现有类,您需要继承它(如果它未密封),或者创建自己的新类,其中包含您希望从中组合信息的类。

部分类完全是一个编译器构造—它基本上将类定义连接在一起,然后进行编译。net中没有“分部类”的概念,因此不能在不同的编译单元(项目或程序集)之间拆分分部类

您不能在单独的项目中使用分部类。但是,您可以使用扩展、继承或接口

Inherence可能是一种方法。通过使用接口,我也会得到帮助,因为我使用接口传递ICCustomer+1,以提及组合作为继承的替代。您还可以使用扩展方法尽管如此,它还是会排序或实现这一点。