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 que los desarrolladores de programas que emiten código de origen generen código fuente en varios lenguajes de programación en tiempo de ejecución, en función de un único modelo que representa el código que se va a representar.

Para representar el código fuente, los elementos CodeDOM se enlazan entre sí para formar una estructura de datos denominada gráfico CodeDOM, que modela la estructura de parte del código fuente.

El espacio de nombres System.CodeDom 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 desarrolladores o proveedores de compiladores pueden extender el conjunto de lenguajes admitidos.

El modelado de código fuente independiente del lenguaje puede resultar valioso cuando un programa necesita generar código fuente para un modelo de programa en varios lenguajes o para un lenguaje de destino indeterminado. Por ejemplo, algunos diseñadores usan CodeDOM como una interfaz de abstracción del lenguaje para generar código fuente en el lenguaje de programación correcto, si CodeDOM es compatible con el idioma.

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

Referencia

  • System.CodeDom

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

  • System.CodeDom.Compiler

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

  • La Referencia rápida de CodeDOM proporciona a los desarrolladores una forma rápida de encontrar los elementos CodeDOM que representan elementos de código fuente.