具有泛型类型参数的通用类,存储在字符串中

时间:2013-12-05 12:43:29

标签: c# .net generics

C#中有没有办法从字符串中获取类型的定义?我想将它用作泛型类型参数。

这是我最终想要实现的目标。


    string classname = "Class1";
    GenericClass<Class1> gc = new GenericClass<Class1>();
    gc.Method();

有什么可能吗?

1 个答案:

答案 0 :(得分:3)

是的,您可以使用反射来执行此操作,有时它不会太安全,请尝试使用此类article sample

Type d1 = typeof(GenericClass<>);

Type[] typeArgs = { Type.GetType("Class1") };

Type makeme = d1.MakeGenericType(typeArgs);

object o = Activator.CreateInstance(makeme);

但是你不会从视觉工作室获得所有智能感知。