编译和生成动态源代码

.NET 包括一个名为代码文档对象模型 (CodeDOM) 的机制。通过该机制,发出源代码的程序开发者可基于一种表示要呈现代码的单一模型,在运行时以多种编程语言生成源代码。

为表示源代码,CodeDOM 元素相互链接,构成一个名为 CodeDOM 图的数据结构。该数据结构对某些源代码的结构建模。

System.CodeDom 命名空间定义某些类型,这些类型可以表示源代码的逻辑结构,且不依赖特定编程语言。 System.CodeDom.Compiler 命名空间定义某些类型,用于从 CodeDOM 图中生成源代码,并管理使用支持语言的源代码的编译工作。 编译器供应商或开发人员可以扩展支持语言。

当程序需要为多种语言的程序模型或为某个不确定的目标语言生成源代码时,不依赖语言的源代码建模非常有用。 例如,某些设计器使用 CodeDOM 作为语言抽象接口生成使用正确编程语言的源代码,前提是 CodeDOM 支持该语言。

.NET 包括适用于 CSharpCodeProviderJScriptCodeProviderVBCodeProvider 的代码生成器和代码编译器。

参考

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