Ist es möglich, Folgendes in C # (oder in einer anderen Sprache) auszuführen?
Ich rufe Daten aus einer Datenbank ab. Zur Laufzeit kann ich die Anzahl der Spalten und Datentypen der abgerufenen Spalten berechnen.
Als nächstes möchte ich eine Klasse mit diesen Datentypen als Felder "generieren". Ich möchte auch alle Datensätze, die ich abgerufen habe, in einer Sammlung speichern.
Das Problem ist, dass ich sowohl Schritt 1 als auch 2 zur Laufzeit ausführen möchte
Ist das möglich? Ich verwende derzeit C #, kann aber bei Bedarf zu etwas anderem wechseln.
c#
dynamic-typing
Chani
quelle
quelle
dynamic
in Massive gearbeitet hat: blog.wekeroad.com/helpy-stuff/and-i-shall-call-it-massiveAntworten:
Verwenden Sie CodeDom. Hier ist etwas, um anzufangen
Es wird eine Assembly "Test.Dynamic.dll" mit dieser Klasse erstellt
Sie können auch die dynamischen Funktionen von C # verwenden.
DynamicEntity-Klasse, zur Laufzeit muss nichts erstellt werden
Und benutze es so
quelle
Ja, Sie können Reflection Emit verwenden , um dies zu tun. Manning hat ein hervorragendes Buch herausgebracht: Metaprogrammierung in .NET .
Übrigens: Warum nicht einfach eine Liste mit Wörterbüchern oder ähnlichem verwenden, um jeden Datensatz mit den Feldnamen als Schlüssel zu speichern?
quelle