¿Cuáles son algunos pros/contras para usar la biblioteca Reflection.Emit versus CodeDOM para generar código dinámicamente en tiempo de ejecución?Reflection.Emit vs CodeDOM
Estoy tratando de generar algunas clases dinámicas (relativamente complicadas) en un sistema basado en metadatos disponibles en tiempo de ejecución en formato XML. Generaré clases que amplíen las clases existentes en el ensamblado de la aplicación, implementando interfaces adicionales, agregando métodos y reemplazando a los miembros virtuales y abstractos.
Quiero asegurarme de seleccionar la técnica adecuada antes de profundizar en la implementación. Cualquier información sobre cómo difieren estas diferentes técnicas de generación de código sería útil. Además, cualquier información sobre librerías de código abierto que simplifiquen o simplifiquen el trabajo debilitará cualquiera de las API sería útil también.
Al leer esto, NHibernate fue lo primero que me vino a la cabeza. ¿Valdría la pena mirar cómo lo hacen? – quip
De hecho estoy mirando eso. Usan Reflection.Emit, pero no está claro por qué lo eligieron contra CodeDOM. – LBushkin