我想創建一個通用列表<>,其類型在運行時聲明。C#動態通用列表
我可以做以下事情,但由於它是動態的,我懷疑有速度的損失。我正在寫一個外來數據庫的包裝,所以速度至關重要。
List<dynamic> gdb = new List<dynamic>()
我讀動態泛型類型this post,但不能讓它工作。具體而言,該對象不會顯示爲List,因此不具有添加方法。
Type ac;
switch (trail[dataPos].Type)
{
case GlobalsSubscriptTypes.Int32:
ac = typeof(System.Int32);
break;
case GlobalsSubscriptTypes.Int64:
ac = typeof(System.Int64);
break;
default:
ac = typeof(System.String);
break;
}
var genericListType = typeof(List<>);
var specificListType = genericListType.MakeGenericType(ac);
var gdb = Activator.CreateInstance(specificListType);
如何獲得GDB顯示爲下列之一:
List<System.Int32>
List<System.Int64>
List<System.String>
它在這種情況下使用'List
不是一個壞主意,但我希望列表被鍵入,因爲它將成爲查詢的一部分。 – IamIC
列表怎麼樣? –