是否可以在 C# 中将一个方法拆分到两个文件中?我知道部分方法在那里,但他们似乎无法做到这一点。
这是场景。我正在使用一个开源库,需要在一个或多个文件中添加一些定制。例如,我想向类 Employee
添加两个新字段,然后在该类的 InitializeFields()
方法中初始化它们。由于开源项目不断发展并且不时发布新版本,我希望将我的自定义与原始项目分开,以便轻松升级到库的更新版本。
我已经使用 partial class
语法将所有必需的类拆分为 Orig.cs
和 Custom.cs
,并添加了我的自定义Custom.cs
中的字段。现在的问题是我无法拆分 InitializeFields()
方法,因此我的自定义代码会进入 Custom.cs
文件。
请注意,我不能使用继承来解决问题。开源库将包含大量对 Employee 类的引用,我无法承担全部更改的费用。
最佳答案
当您这样做时,您是在自己编译库,对吧?
我知道您不想子类化 Employee
,因为这样所有执行 new Employee()
的库代码都将无法工作。但是,如果您在 Orig.cs 中将 Employee
重命名为 EmployeeBase
,并在 Custom.cs 中提供类 Employee
会怎样?这样当编译库代码时,new Employee()
将引用您的类,而不是库类。由于您在同一个项目中编译库和自定义项,因此可以进行此替换。
关于c# - 在 C# 中跨两个文件拆分一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13049403/