我需要初始化一个System.Collections.Generic.List<String>
使用反射的实例。例如,类型名称已经从 XML 中加载,并且在程序启动之前是未知的。我得到了类型及其组件:
Type T = Type.GetType("System.Collections.Generic.List`1[System.String]");
Assembly ass = T.Assembly;
在此之后我需要初始化我的变量,但我不想显式地编写类型,所以使用:
var lst = ass.CreateInstance(T.FullName) as List<String>;
是不恰当的。我已经在 T 中获得了所需的类型,所以如果我可以执行以下操作:
var lst = ass.CreateInstance(T.FullName) as T;
应该没问题。但我不能。我需要做什么?