Was sind einige Vor- und Nachteile für die Verwendung der Reflection.Emit-Bibliothek im Vergleich zu CodeDOM für die dynamische Generierung von Code zur Laufzeit?
Ich versuche, einige (relativ komplizierte) dynamische Klassen in einem System zu generieren, das auf Metadaten basiert, die zur Laufzeit in XML-Form vorliegen. Ich werde Klassen generieren, die bestehende Klassen in der Anwendungsbaugruppe erweitern, zusätzliche Schnittstellen implementieren, Methoden hinzufügen und virtuelle und abstrakte Mitglieder außer Kraft setzen.
Ich möchte sicherstellen, dass ich die richtige Technik wähle, bevor ich mich zu sehr in die Umsetzung vertiefe. Jede Information darüber, wie sich diese verschiedenen Code-Generierungstechniken unterscheiden, wäre hilfreich. Auch Informationen über Open-Source-Bibliotheken, die die Arbeit mit einer der beiden APIs vereinfachen oder rationalisieren, wären hilfreich.