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
。