是否可以在两个项目中声明一个部分类

时间:2011-12-05 10:43:25

标签: c# .net class c#-4.0 partial-classes

考虑我们在 Project1 中创建一个部分类,我们有一个 Project2 ,它引用了 Project1 。如何声明一些 Project2 中的其他部分类方法?

感谢

4 个答案:

答案 0 :(得分:14)

部分构造只是一个编译器功能,允许类在几个源文件中展开。编译后的类仍然只存在于一个类库(dll文件)中。

有两种方法可以在另一个库中扩展一个类:

  • 继承,除非该类为sealed。这要求调用代码处理所有对象实例化以实例化新的派生类。
  • 扩展方法,使代码看起来像该类上有新方法,但这只是语法糖。它不会改变班级本身。

答案 1 :(得分:11)

无法在另一个项目中扩展分部类。部分只是编译糖。编译器将在生成的程序集中仅创建一个类。

答案 2 :(得分:3)

您可以使用允许您为现有班级

创建其他方法的Extension methods

答案 3 :(得分:2)

部分类不能存在于组装边界之外!