編譯並產生動態原始程式碼

.NET 包含稱為程式代碼檔物件模型 (CodeDOM) 的機制,可讓程式開發人員根據代表要轉譯的程式代碼,在運行時間以多個程式設計語言產生原始程式碼。

為了代表原始程式碼,CodeDOM 項目會彼此連結,形成稱為 CodeDOM 圖形的資料結構,它會建立一些原始程式碼結構的模型。

System.CodeDom 命名空間會定義類型,可代表獨立於特定程式設計語言的原始碼邏輯結構。 System.CodeDom.Compiler 命名空間會定義類型,以從 CodeDOM 圖表產生原始程式碼,以及管理使用支援語言的原始程式碼編譯。 編譯器廠商或開發人員可以擴充支援的語言集。

程式需要產生適用於多種語言的程式模型原始程式碼,或是不確定目標語言的原始程式碼時,很適合使用與語言無關的原始程式碼模型。 比方說,某些設計工具使用 CodeDOM 作為語言抽象介面,以正確的程式設計語言產生程式碼,如果該語言支援 CodeDOM 的話。

.NET 包含、 JScriptCodeProviderVBCodeProvider的程式CSharpCodeProvider代碼產生器和程式代碼編譯程式。

參考

  • System.CodeDom

    定義元素,代表以 Common Language Runtime 為目標之程式設計語言中的程式碼元素。

  • System.CodeDom.Compiler

    定義介面以便在執行階段產生和編譯程式碼。

  • CodeDOM 快速參考 提供快速方法,讓開發人員尋找代表原始程式碼元素的 CodeDOM 元素。