次の方法で共有


動的ソース コードをコンパイルして生成する

.NET には、コード ドキュメント オブジェクト モデル (CodeDOM) と呼ばれるメカニズムが含まれています。これにより、ソース コードを出力するプログラムの開発者は、レンダリングするコードを表す 1 つのモデルに基づいて、実行時に複数のプログラミング言語でソース コードを生成できます。

ソース コードを表すために、CodeDOM 要素は相互にリンクされ、CodeDOM グラフと呼ばれるデータ構造を形成し、ソース コードの構造をモデル化します。

System.CodeDom名前空間は、特定のプログラミング言語に依存せず、ソース コードの論理構造を表すことができる型を定義します。 System.CodeDom.Compiler名前空間は、CodeDOM グラフからソース コードを生成し、サポートされている言語でソース コードのコンパイルを管理するための型を定義します。 コンパイラ ベンダーまたは開発者は、サポートされている言語のセットを拡張できます。

言語に依存しないソース コード モデリングは、プログラムが複数の言語のプログラム モデルまたは不確実なターゲット言語のソース コードを生成する必要がある場合に価値があります。 たとえば、一部のデザイナーは、言語に対する CodeDOM のサポートが利用できる場合、言語抽象化インターフェイスとして CodeDOM を使用して、正しいプログラミング言語でソース コードを生成します。

.NET には、 CSharpCodeProviderJScriptCodeProvider、および VBCodeProvider用のコード ジェネレーターとコード コンパイラが含まれています。

リファレンス

  • System.CodeDom

    共通言語ランタイムを対象とするプログラミング言語のコード要素を表す要素を定義します。

  • System.CodeDom.Compiler

    実行時にコードを生成およびコンパイルするためのインターフェイスを定義します。