class Program
{
public static void Main(string[] args)
{
List<MyInterface> myList = new List<MyInterface>();
myList.Add(new MyClass<int>());
foreach (MyInterface item in myList)
{
(MyClass)item).Foo(); // <---- Critical Line
}
}
}
interface MyInterface { }
class MyClass<T> : MyInterface
{
public MyClass() { }
public void Foo() { DoSomething(); }
}
オブジェクトの正確な(一般的な)タイプを知らずにのFoo()メソッドを使用したいと思います。MyClassとにかくそれを呼び出す方法はありますか?コードがいつコンパイルされるかがわかるTので、を介して実装されるプロパティにコードを格納できInterfaceBますか?
ご協力いただきありがとうございます!
編集:明確ではないことをお詫びします。実装するクラスは他にもありますがMyInterface、アイテムのタイプがClassBであるかどうかを確認しているため、に入れることができませFoo()んMyInterface。