【问题标题】:Is it possible to declare a partial class in two projects是否可以在两个项目中声明部分类
【发布时间】:2011-12-05 10:43:24
【问题描述】:

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

谢谢

【问题讨论】:

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


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      您可以使用Extension methods 为现有类创建其他方法

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-06-21
          • 1970-01-01
          • 1970-01-01
          • 2011-07-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多