-4
我有一个对象作为参数,我想从该对象类型中创建一个通用列表。大多数时候我想发送一个自定义对象类型。这段代码声明了我的问题的概念。如何实例化一个未知类型的通用列表?
public void myMethod(object myObject)
{
List<typeof(myObject)> _NewList=new List<typeof(myObject)();
}
我有一个对象作为参数,我想从该对象类型中创建一个通用列表。大多数时候我想发送一个自定义对象类型。这段代码声明了我的问题的概念。如何实例化一个未知类型的通用列表?
public void myMethod(object myObject)
{
List<typeof(myObject)> _NewList=new List<typeof(myObject)();
}
你可以做的方法一般:
public void myMethod<T>(T myObject)
{
List<T> _NewList = new List<T>();
}
可以约束类型的接口或基类,如果你的方法需要执行任何对这些对象是一致的。
通过反射:
var type = myObject.GetType();
var genericListType = typeof(List<>).MakeGenericType(new[] { type });
var list = (IList)Activator.CreateInstance(genericListType);
但它会更好地使用仿制药。
你的课是否有共同的基础课? – 2013-03-27 14:29:27