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
.