我可以按类名创建List <class>吗?

时间:2016-04-18 11:17:23

标签: c# asp.net-mvc

我想做一个函数,当用户选择类名并单击按钮时,它会创建一个新的List<SelectedClass>。目前我正在使用这样的开关语句:

switch(Name)
case"a" : List<a> X=new List<a>();
case"b" : List<b> X=new List<b>();

还有其他方法吗?

1 个答案:

答案 0 :(得分:2)

尝试使用Activator.CreateInstance(因此您不需要任何切换声明):

Type type = Type.GetType(Name); // Example: Type.GetType("NamespaceName.ClassName")
Type listType = typeof(List<>);
var listWithType = listType.MakeGenericType(new [] { type });
var instanceOfList = Activator.CreateInstance(listWithType);