标题有些晦涩。我想知道的是这是否可能实现:
显然,MyGenericClass被描述为:
string typeName = <read type name from somwhere>;
Type myType = Type.GetType(typeName);
MyGenericClass<myType> myGenericClass = new MyGenericClass<myType>();
显然,MyGenericClass被描述为:
public class MyGenericClass<T>
现在编译器抱怨"找不到'myType'类型或命名空间"。一定有方法可以解决这个问题。
foo.Method((dynamic)myGenericClass)
进行运行时方法绑定,有效地实现了类型方法重载的服务定位器模式。 - Chris Marisicpublic void Method<T>(T obj)
- 这是我在过去6年中使用过多次的技巧 ;p - Marc Gravell