以多種語言的方式動態產生和編譯原始程式碼
.NET Framework 包括一種名為程式碼文件物件模型 (CodeDOM) 的機制,可以讓發出原始程式碼的程式開發人員在 Run Time 時,依據代表要轉譯之程式碼的單一模型,使用多種程式語言來產生原始程式碼。
為了表示原始程式碼,CodeDOM 項目彼此連結以形成名為 CodeDOM 物件 Graph 的資料結構,這就是某些原始程式碼的結構模型。
System.CodeDom 命名空間 (Namespace) 定義的型別可以表示原始程式碼的邏輯結構,不限定於特定的程式語言。System.CodeDom.Compiler 命名空間定義的型別從 CodeDOM 物件 Graph 產生原始程式碼,並在支援的語言中管理原始程式碼編譯。編譯器廠商或開發人員可以擴充支援的語言集合。
程式需要為使用多種語言中的程式模型或不確定的目標語言產生原始程式碼時,與語言無關的原始程式碼模型就非常有用。例如,如果該語言有 CodeDOM 支援,有些設計人員會使用 CodeDOM 做為語言抽象介面以在正確的程式語言中產生原始程式碼。
.NET Framework 包含用於 C#、JScript 和 Visual Basic 的程式碼產生器和程式碼編譯器。
本章節內容
- 使用 CodeDOM
描述一般的運用,並且示範使用 CodeDOM 建置簡單的物件 Graph。 - 從 CodeDOM 物件 Graph 產生原始程式碼和編譯程式
描述如何使用 System.CodeDom.Compiler 命名空間中定義的類別產生原始程式碼並以外部編譯器編譯產生的程式碼。
相關章節
- System.CodeDom
定義一些項目來表示以 Common Language Runtime 為目標之程式語言中的程式碼項目。 - System.CodeDom.Compiler
定義在 Run Time 用於產生和編譯程式碼的介面。 - CodeDOM 快速參考
為開發人員提供快速方法,找出表示原始程式碼項目的 CodeDOM 項目。