泛型類型我有一個包含一個通用類的名稱與特定類型的字符串:實例化從字符串
string s = "GenericRouteHandler<MemberHandler>";
如何從這個字符串實例化一個實例?我知道如何使用Type.GetType()實例化一個具體類,然後使用Activator,但我不確定去哪裏使用泛型類。
泛型類型我有一個包含一個通用類的名稱與特定類型的字符串:實例化從字符串
string s = "GenericRouteHandler<MemberHandler>";
如何從這個字符串實例化一個實例?我知道如何使用Type.GetType()實例化一個具體類,然後使用Activator,但我不確定去哪裏使用泛型類。
像這樣typeof(GenericRouteHandler<>).MakeGenericType(typeof(MemberHandler));
當然,如果你沒有,你必須使用Type.GetType(string)
拿到類型,而不是typeof
的類型。
編輯:然後,你必須激活型Activator.CreateInstance()
或調用構造器,如果知道簽名myGenericType.GetConstructor(ctorArgsTypes).Invoke(ctorParams);
;它可以更快,如果緩存中的consturctors它可以更快然後Activator.CreateInstance()
謝謝,那會做! – Andrey 2011-01-05 23:05:53
可能與:http://stackoverflow.com/questions/4629/c-eval-equivalent – JYelton 2011-01-05 22:49:20