5

是否可以在 C# 中将方法拆分为两个文件?我知道有部分方法,但他们似乎无法做到这一点。

这是场景。我正在使用一个开源库,需要在一个或多个文件中添加一些自定义项。例如,我想在类中添加两个新字段Employee,然后在该类的InitializeFields()方法中对其进行初始化。由于开源项目不断发展并且不时发布新版本,我希望将我的自定义项与原始项目分开,以便轻松升级到更新版本的库。

我已经将所有必需的类拆分为语法Orig.csCustom.cs使用partial class语法,并将我的自定义字段添加到Custom.cs. 现在的问题是我无法拆分InitializeFields()方法,以便我的自定义代码进入Custom.cs文件。

请注意,我不能使用继承来解决问题。开源库将包含对 Employee 类的大量引用,我无法更改所有这些引用。

4

1 回答 1

5

当你这样做时,你是在自己编译库,对吧?

我知道你不想 subclass Employee,因为那样做的所有库代码都new Employee()不起作用。但是,如果您在 Orig.cs 中重命名EmployeeEmployeeBase,并在 Custom.cs 中提供类Employee怎么办?这样,当编译库代码时,new Employee()将引用您的类,而不是库。由于您在同一个项目中编译库和自定义项,因此您可以进行此替换。

于 2012-10-24T12:48:11.113 回答