実行時に型が宣言されるジェネリック List<> を作成したいと考えています。
次のことができますが、動的であるため、速度にペナルティがあると思われます。私はエキゾチックなデータベースのラッパーを書いているので、速度が重要です。
List<dynamic> gdb = new List<dynamic>()
この投稿を動的ジェネリック型で読みましたが、機能しません。具体的には、オブジェクトはリストとして表示されないため、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>