如何将两个相似的函数合并为一个函数?

DJ *_*urb 0 .net c#

我有两个函数在两个不同的类上执行基本相同的操作....每个类都有不同的属性.

例如:

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();
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的那样,类和函数具有相同的类型结构,只是属性名称不同......但我觉得我正在重复代码执行此操作

有没有办法将ExFunctionA和ExFunctionB组合成一个函数,这样我就可以将它用于所有具有类似结构的类

我知道我可以做某种通用的事情

public void ExFunctionSave<T>()   // T is either ClassA or ClassB
{
   .
   .
   .
   .
   Save();
}
Run Code Online (Sandbox Code Playgroud)

但我如何处理每个属性

sel*_*ndb 5

而不是使用泛型,为什么不使用继承来解决这个问题呢?

public class theBase
{
    string ID;
    string Description;
}
public class theColor : theBase
{
}

public class theType : theBase
{
}

public void ExFunctionSaveA(theBase base)    
{
    base.ID=1;
    base.Description="My Color";
    Save();
}
Run Code Online (Sandbox Code Playgroud)