编译并生成动态源代码

.NET 包括一种称为代码文档对象模型(CodeDOM)的机制,使发出源代码的程序的开发人员能够基于表示要呈现的代码的单个模型在多个编程语言中生成源代码。

为了表示源代码,CodeDOM 元素相互链接以形成称为 CodeDOM 图形的数据结构,该图对某些源代码的结构进行建模。

命名空间 System.CodeDom 定义可以表示源代码的逻辑结构(独立于特定编程语言)的类型。 命名空间 System.CodeDom.Compiler 定义用于从 CodeDOM 图形生成源代码的类型,以及以受支持的语言管理源代码的编译。 编译器供应商或开发人员可以扩展受支持的语言集。

当程序需要为多种语言的程序模型或不确定的目标语言生成源代码时,与语言无关的源代码建模可能很有价值。 例如,如果 CodeDOM 支持该语言,则某些设计器使用 CodeDOM 作为语言抽象接口以正确的编程语言生成源代码。

.NET 包括代码生成器和代码编译器,用于CSharpCodeProviderJScriptCodeProviderVBCodeProvider

参考文献

  • System.CodeDom

    定义用于表示面向公共语言运行时的编程语言中的代码元素的元素。

  • System.CodeDom.Compiler

    定义用于在运行时生成和编译代码的接口。

  • CodeDOM 快速参考 为开发人员提供了一种快速方法,用于查找表示源代码元素的 CodeDOM 元素。