似たような名前のフィールドにアクセスできるメソッドを作成しますが、C# で継承なしで異なる型のオブジェクトにアクセスできます。
たとえば。私は2つのクラスを持っています:
public class MyClass1
{
public int Id { get; set; }
}
public class MyClass2
{
public int Id { get; set; }
}
メソッドを作成し、各クラスのインスタンスを渡す必要があります。
DoStuff(new MyClass1());
DoStuff(new MyClass2());
メソッドは次のようになります。
private void DoStuff<T>(T obj)
{
int i = obj.Id(); // here is the problem
}
はい、問題はobj
解決できませんId
。解決策は簡単です-プロパティで作成RootClass
し、 ... を使用しますが、これはできません。Id
public class MyClass1: RootClass
質問: int i = obj.Id();
を作成せずに line like を使用できますRootClass
か?
編集:次のような回答が必要です:
いいえ....または
はい、これを行います....