Compartir a través de


Compilación y generación de código fuente dinámico

.NET incluye un mecanismo denominado Code Document Object Model (CodeDOM) que permite a los desarrolladores de programas que emiten código fuente generar código fuente en varios lenguajes de programación en tiempo de ejecución, en función de un único modelo que represente el código que se va a representar.

Para representar el código fuente, los elementos CodeDOM se vinculan entre sí para formar una estructura de datos conocida como gráfico CodeDOM, que modela la estructura de algún código fuente.

El System.CodeDom espacio de nombres define los tipos que pueden representar la estructura lógica del código fuente, independientemente de un lenguaje de programación específico. El espacio de nombres System.CodeDom.Compiler define los tipos para generar código fuente a partir de gráficos CodeDOM y para administrar la compilación del código fuente en los lenguajes admitidos. Los proveedores o desarrolladores del compilador pueden ampliar el conjunto de idiomas admitidos.

El modelado de código fuente independiente del lenguaje puede ser útil cuando un programa necesita generar código fuente para un modelo de programa en varios lenguajes o para un lenguaje de destino desconocido. Por ejemplo, algunos diseñadores usan CodeDOM como interfaz de abstracción de lenguaje para generar código fuente en el lenguaje de programación correcto, si la compatibilidad con CodeDOM para el lenguaje está disponible.

.NET incluye generadores de código y compiladores de código para CSharpCodeProvider, JScriptCodeProvidery VBCodeProvider.

Referencia

  • System.CodeDom

    Define elementos que representan elementos de código en lenguajes de programación que tienen como destino Common Language Runtime.

  • System.CodeDom.Compiler

    Define interfaces para generar y compilar código en tiempo de ejecución.

  • La referencia rápida de CodeDOM proporciona una manera rápida para que los desarrolladores encuentren los elementos CodeDOM que representan elementos de código fuente.