2つの異なるクラスで基本的に同じことを行う2つの関数があります。各クラスには異なるプロパティがあります。
例えば:
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を1つの関数にして、同様の構造を持つすべてのクラスにこれを使用できるようにする方法はありますか?
私は私が次のようなある種の一般的なことをすることができることを知っています
public void ExFunctionSave<T>() // T is either ClassA or ClassB
{
.
.
.
.
Save();
}
しかし、それぞれのプロパティをどのように処理しますか