【发布时间】:2010-11-12 17:21:16
【问题描述】:
我正在尝试使用反射创建一个通用的对象列表。下面的代码抛出一个错误 Cannot create an instance of an interface. 。我可以将 IList 更改为 List 并且它工作正常,但我想知道是否有办法让它与 IList 一起工作。
var name = typeof (IList<T>).AssemblyQualifiedName;
Type type = Type.GetType(name);
var list = Activator.CreateInstance(type);
【问题讨论】:
-
typeof (IList
) 返回与第二行中的表达式相同的类型 (Type.GetType(name);) 换句话说,只需在需要时执行 var type = typeof(sometype)该特定类型的 System.Type 对象
标签: c# asp.net reflection