我有两个函数可以在两个不同的类上做基本相同的事情......每个类都有不同的属性。如何将两个相似的功能组合成一个功能?
例如:
public class ClassA
{
public int ColorID {get;set;}
public string ColorDescription {get;set;}
}
public class ClassB
{
public int TypeID {get;set;}
public string TypeDescription {get;set;}
}
public void ExFunctionSaveA(ClassA aClass)
{
aClass.ColorID=1;
aClass.ColorDescription="My Color";
Save();
}
public void ExFunctionSaveB(ClassB bClass)
{
bClass.TypeID=2;
bClass.TypeDescription="My Type";
Save();
}
正如你所看到的类和函数具有相同类型的结构,只是属性名称是不同的...但我觉得我是在重复的代码做这个
有没有一种方法,使ExFunctionA和ExFunctionB成一个功能,这样我就可以用这个具有类似的结构
我知道我可以做一些通用的东西像
所有类public void ExFunctionSave<T>() // T is either ClassA or ClassB
{
.
.
.
.
Save();
}
,但我会如何处理每个
已经建议的接口/继承之外。我将使用每个类中的构造函数来设置各个属性的ID和说明。这只会留下Save()方法,除非您有基类或泛型基类,否则无法删除它。 – JonWillis