Ich wurde mit der Verwendung einer internen Datenzugriffsbibliothek ausgestattet, die effektiv an eine gespeicherte Prozedur übergeben wird, die XML zurückgibt. Ich kann nichts dagegen tun. Ich habe versucht, ActiveRecord zu genehmigen, aber meine Anfrage wurde abgelehnt. Unter Verwendung des exzellenten Codes, der unter http://blog.bodurov.com/Post.aspx?postID=27 bereitgestellt wird, fügte ich IEnumerable jedoch eine Erweiterungsmethode hinzu, die die Schlüssel/Wert-Paare, die ich aus dem zerlumpten XML herstelle, in stark typisierte Objekte konvertiert, komplett mit Eigenschaftsnamen! DieseWie füge ich eine Methode an einen dynamisch erstellten C# -Typ zur Laufzeit an?
:
dict["keyName1"]
wird
MyObject.keyName1
Nun ist die Schnittstelle unterstützt Datenbindung! Ziemlich cool! Ich möchte aber noch einen Schritt weiter gehen. Ich möchte, dass die emittierten Objekte über Save() -Methoden verfügen, so dass ich das ActiveRecord-Muster nachbilden und meinen Web-Leuten eine intuitive Objekt-Ebene zur Verfügung stellen kann, die von ASP.net verwendet werden kann.
Wie schreibe ich eine Methode in Visual Studio im Quellcode und an die emittierten Objekte zur Laufzeit anfügen? Ich bin nicht daran interessiert (oder dafür qualifiziert), Assembly oder IL zu schreiben. Ich würde das gerne in C# machen. Dies ist meine erste StackOverflow-Frage und ich poste dies mit dem vom Unternehmen beauftragten IE6, also sei bitte sanft.
"wenn die XML-Struktur jedes Mal die gleiche sein wird, führt die SP" I BRD 1245 RFW 3456 InstanceName> Name des Projekts erhalten! etc mit unterschiedlichen Attributen jedes Mal :( –
Ja, aber ich bin sicher, dass eine Liste von Attributen gibt es die aus verfügbar sind zu wählen. Legen Sie alle diese Attribute in der Klasse als Nullable Felder (wenn sie Werttypen) Ich denke nicht, dass Sie eine verrückte Lösung verwenden müssen, um dynamisch einen Typ zu erstellen ... – BFree
Das XML wird dynamisch generiert und ich möchte keine Bibliothek von konkreten Klassen verwalten müssen Für jede Permutation –