我試圖解決這個問題:反思,仿製藥和多組件
Type.GetType("Class1'[[Class2]]")
其中Class1
和Class2
在不同的組件。
我可以解析組件,並找到Class1
類型以及該Class2
類型,但我如何才能在Class1<Class2>
類型?
我試圖解決這個問題:反思,仿製藥和多組件
Type.GetType("Class1'[[Class2]]")
其中Class1
和Class2
在不同的組件。
我可以解析組件,並找到Class1
類型以及該Class2
類型,但我如何才能在Class1<Class2>
類型?
我想,這應該是這樣的:
Type.GetType("Class1`1[Class2]");
注:我從'到'改變了APOSTROPH並加入通用參數的個數。
如果這還不夠,嘗試指定的類,包括命名空間和裝配:
Type.GetType("Namespace1.Class1`1[[Namespace2.Class2, Assembly2]], Assembly1");
MakeGenericType()解決方案更加優雅 – 2012-06-19 22:13:50
如果你能找到的類型,所有你需要的是:
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>)
你爲什麼得到帶有字符串的類型,他們是那些程序集中的內部類? – 2011-04-07 04:08:01