如何用未知类型实例化泛型列表
本文关键字:泛型 列表 实例化 类型 何用 未知 | 更新日期: 2023-09-27 18:06:12
我有一个对象作为参数,我想从该对象类型中创建一个泛型列表。大多数时候我想发送一个自定义对象类型。这段代码声明了问题的概念。
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);