2

似たような名前のフィールドにアクセスできるメソッドを作成しますが、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し、 ... を使用しますが、これはできません。Idpublic class MyClass1: RootClass

質問: int i = obj.Id();を作成せずに line like を使用できますRootClassか?

編集:次のような回答が必要です:
いいえ....または
はい、これを行います....

4

1 に答える 1