代码之家  ›  专栏  ›  技术社区  ›  Traci

跨项目的分部类

  •  9
  • Traci  · 技术社区  · 15 年前

    是否可以跨项目拥有部分类?

    例如,项目1有一个客户类。 Project2是一个可选模块,它通过附加一个订单类并使用原始客户类来添加到客户类中。

    4 回复  |  直到 8 年前
        1
  •  16
  •   Fredrik Mörk    15 年前

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

    如果您想要扩展一个现有的类,您要么需要继承它(如果它不是密封的),要么创建您自己的新类,其中包含您想要从中组合信息的类。

        2
  •  1
  •   Randolpho    15 年前

    不可以。分部类必须在同一上下文(即程序集)中编译。

    你可能想做的是利用 Inheritance .

        3
  •  1
  •   thecoop    15 年前

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

        4
  •  0
  •   CyberNinja    8 年前

    不能在单独的项目中使用分部类。但是,句点可以使用扩展名 Class Extensions 或继承或接口