我有一个解决方案,其中有两个项目,每个项目都生成一个单独的 dll,供另一个 Windows 应用程序使用。这些项目中的每一个都有一个名为 MyActions 的类,只有一个方法,像这样
项目1
public class MyActions
{
public SomeTypeA DoJob(string str1, string str2)
{
}
}
项目 2
public class MyActions
{
public SomeTypeB DoJob(string str1)
{
}
}
这两个类的两种返回类型如下
public class SomeTypeA
{
public string stringA { get; set; }
public int someInt { get; set; }
}
public class SomeTypeB
{
public string someStringA { get; set; }
}
这些单独项目的两个类中的方法 DoJob 几乎 80% 的代码是相同的。Project1 是一个MyActions
类的DoJob
方法有一些特定于 Project1 的额外位的那个。现在这里是转折点。Project1 最终将被废弃,它的 dll 将不再被使用。我想以最好的方式编写代码,以确保没有重复代码,这样我就不必做一旦 Project1 停止,任何修改以删除 Project2 中的任何不需要的代码。
我正在考虑使用继承并覆盖 DoJob 方法。如果它们的返回类型不同并且具有不同的输入参数,那将如何工作?也许将 Project1 的 MyActions 类中的参数之一推送到其构造函数?我还考虑在 Project1 中添加指向 Project2 的 MyActions 类的链接。但不确定如何继续实施,而不是重复自己或以后可能遇到无法预料的问题。任何提示,建议?