我想创建一个在运行时声明其类型的通用 List<>。
我可以执行以下操作,但由于它是动态的,我怀疑会有速度损失。我正在为异国情调的数据库编写包装器,因此速度至关重要。
List<dynamic> gdb = new List<dynamic>()
我在动态泛型类型中阅读了这篇文章,但无法让它工作。具体来说,该对象没有以 List 的形式出现,因此没有 add 方法。
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>