反射、泛型和多个程序集
本文关键字:程序集 泛型 反射 | 更新日期: 2023-09-27 17:49:19
我想解决这个问题:
Type.GetType("Class1'[[Class2]]")
其中Class1
和Class2
在不同的组合中。
我可以解析程序集并找到Class1
类型以及Class2
类型,但是我如何获得Class1<Class2>
类型?
如果你能找到所有你需要的类型:
Type class1Type = assembly1.GetType("Class1"); //or however you are able to get this type
Type class2Type = assembly2.GetType("Class2"); //or however you are able to get this type
Type genericType = class1Type.MakeGenericType(class2Type);
genericType类似于typeof(Class1<Class2>)
我想,它应该是这样的:
Type.GetType("Class1`1[Class2]");
注意:我改变了' to '的撇号,并增加了通用参数的数量。
如果这还不够,请尝试指定类,包括名称空间和程序集:
Type.GetType("Namespace1.Class1`1[[Namespace2.Class2, Assembly2]], Assembly1");