-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