我想知道如何定义一个通用列表,只提供文本类名称并使用System.Type,如下例所示:
Type entity_type = Type.GetType("Entities.Human, Entities");
List<entity_type> a = new List<entity_type>();
答案 0 :(得分:1)
您应该获得通用列表的类型,然后使用您的enity类型进行参数化:
Type entity_type = Type.GetType("Entities.Human, Entities");
Type list_type = typeof(List<>);
Type entity_list_type = list_type.MakeGenericType(entity_type);
创建列表实例:
IList entity_list = (IList)Activator.CreateInstance(entity_list_type);
entity_list.Add(entity);
答案 1 :(得分:1)
var type = Type.GetType("Entities.Human, Entities");
var listType = typeof(List<>).MakeGenericType(type);
var list = (IList)Activator.CreateInstance(listType);