Ich möchte eine generische Liste erstellen <> deren Typ zur Laufzeit deklariert wird.C# dynamische generische Liste
Ich kann Folgendes tun, aber da es dynamisch ist, vermute ich, es gibt eine Geschwindigkeitsstrafe. Ich schreibe einen Wrapper in eine exotische Datenbank, also ist Geschwindigkeit entscheidend.
List<dynamic> gdb = new List<dynamic>()
Ich las this post in dynamischen generische Typen, aber es funktioniert nicht bekommen kann. Insbesondere erscheint das Objekt nicht als Liste und hat daher keine add-Methode.
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);
Wie erhalte ich GDB als eine der folgenden erscheinen:
List<System.Int32>
List<System.Int64>
List<System.String>
Es Vielleicht ist es einfacher, in diesem Fall einfach eine 'List
Keine schlechte Idee, aber ich möchte die Liste getippt werden, da es Teil einer Abfrage sein wird. – IamIC
Wie wäre es mit Liste? –