名前空間 System.Reflection.Emit には、コンパイラまたはツールでメタデータおよび MSIL (Microsoft Intermediate Language) を生成し、オプションで PE ファイルをディスクに生成するためのクラスが含まれています。これらのクラスのプライマリ クライアントは、スクリプト エンジンとコンパイラです。
クラス
| クラス | 説明 |
|---|---|
| AssemblyBuilder | 動的アセンブリを定義および表現します。 |
| ConstructorBuilder | 動的クラスのコンストラクタを定義および表現します。 |
| CustomAttributeBuilder | カスタム属性の構築を支援します。 |
| EnumBuilder | 列挙型を記述し、表現します。 |
| EventBuilder | クラスのイベントを定義します。 |
| FieldBuilder | フィールドを定義および表現します。このクラスは継承できません。 |
| ILGenerator | MSIL (Microsoft Intermediate Language) 命令を生成します。 |
| LocalBuilder | メソッドまたはコンストラクタのローカル変数を表します。 |
| MethodBuilder | 動的クラスのメソッド (またはコンストラクタ) を定義および表現します。 |
| MethodRental | クラスのメソッドを指定して、メソッド本体の実装をすばやく交換する方法を提供します。 |
| ModuleBuilder | モジュールを定義および表現します。 DefineDynamicModule を呼び出して、ModuleBuilder のインスタンスを取得します。 |
| OpCodes | ILGenerator クラス メンバ (Emit など) による出力に対する MSIL (Microsoft Intermediate Language) 命令のフィールド表現を提供します。 |
| ParameterBuilder | パラメータ情報の作成または関連付けを行います。 |
| PropertyBuilder | 型のプロパティを定義します。 |
| SignatureHelper | シグネチャを構築するメソッドを提供します。 |
| TypeBuilder | クラスの新しいインスタンスを実行時に定義および作成します。 |
| UnmanagedMarshal | マネージ コードからアンマネージ コードにフィールドをマーシャリングする方法を記述するクラスを表します。このクラスは継承できません。 |
構造体
| 構造体 | 説明 |
|---|---|
| EventToken | イベントを表すメタデータから返されるトークンを表します。 |
| FieldToken | FieldToken 構造体は、フィールドを表すトークンのオブジェクト表現です。 |
| Label | 命令ストリームのラベルを表します。Label は、 ILGenerator クラスと組み合わせて使用します。 |
| MethodToken | MethodToken 構造体は、メソッドを表すトークンのオブジェクト表現です。 |
| OpCode | MSIL (Microsoft Intermediate Language) 命令を記述します。 |
| ParameterToken | ParameterToken 構造体は、パラメータを表すメタデータから返されるトークンの非透過表現です。 |
| PropertyToken | PropertyToken 構造体は、プロパティを表すメタデータから返される Token の非透過表現です。 |
| SignatureToken | シグネチャを表すメタデータから返されるトークンを表します。 |
| StringToken | 文字列を表すトークンを表します。 |
| TypeToken | 型を表すメタデータから返されるトークンを表します。 |
列挙体
| 列挙体 | 説明 |
|---|---|
| AssemblyBuilderAccess | 動的アセンブリのアクセス モードを定義します。 |
| FlowControl | 命令によって制御フローを変更する方法を記述します。 |
| OpCodeType | MSIL (Microsoft Intermediate Language) 命令の型を記述します。 |
| OperandType | MSIL (Microsoft Intermediate Language) 命令のオペランド型を記述します。 |
| PackingSize | 型をマーシャリングするときのフィールドのメモリ アライメントを規定する 2 つの要素のうち、1 つを指定します。 |
| PEFileKinds | ポータブル実行可能 (PE) ファイルの型を指定します。 |
| StackBehaviour | 値をスタックにプッシュする方法、またはスタックからポップする方法を記述します。 |