ILGenerator クラス

定義

MSIL (Microsoft Intermediate Language) 命令を生成します。

public ref class ILGenerator
public ref class ILGenerator abstract
public ref class ILGenerator : System::Runtime::InteropServices::_ILGenerator
public class ILGenerator
public abstract class ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
[System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)]
[System.Runtime.InteropServices.ComVisible(true)]
public class ILGenerator : System.Runtime.InteropServices._ILGenerator
type ILGenerator = class
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
type ILGenerator = class
    interface _ILGenerator
[<System.Runtime.InteropServices.ClassInterface(System.Runtime.InteropServices.ClassInterfaceType.None)>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ILGenerator = class
    interface _ILGenerator
Public Class ILGenerator
Public MustInherit Class ILGenerator
Public Class ILGenerator
Implements _ILGenerator
継承
ILGenerator
属性
実装

注釈

ILGeneratorは、動的アセンブリ内のメソッドとコンストラクター (および クラスで表される) およびスタンドアロンの動的メソッド (クラスでMethodBuilderConstructorBuilder表される) のメソッド本体をDynamicMethod生成するために使用されます。 をILGenerator取得するには、ConstructorBuilder.GetILGeneratorDynamicMethod.GetILGeneratorおよび MethodBuilder.GetILGenerator メソッドを使用します。

MSIL は、Just-In-Time (JIT) コンパイラへの入力として使用されます。

コンストラクター

ILGenerator()

ILGenerator クラスの新しいインスタンスを初期化します。

プロパティ

ILOffset

ILGenerator によって生成されている MSIL (Microsoft Intermediate Language) ストリーム内の現在のオフセットをバイト単位で取得します。

メソッド

BeginCatchBlock(Type)

Catch ブロックを開始します。

BeginExceptFilterBlock()

フィルター処理された例外の例外ブロックを開始します。

BeginExceptionBlock()

フィルター処理されない例外の例外ブロックを開始します。

BeginFaultBlock()

MSIL (Microsoft Intermediate Language) ストリームで例外フォールト ブロックを開始します。

BeginFinallyBlock()

MSIL (Microsoft Intermediate Language) 命令ストリームで finally ブロックを開始します。

BeginScope()

構文のスコープを開始します。

CreateLabel(Int32)

MSIL (Microsoft Intermediate Language) 命令を生成します。

DeclareLocal(Type)

指定した型のローカル変数を宣言します。

DeclareLocal(Type, Boolean)

指定した型のローカル変数を宣言し、オプションでその変数が参照するオブジェクトを固定します。

DefineLabel()

新しいラベルを宣言します。

Emit(OpCode)

指定された命令を命令のストリームに書き込みます。

Emit(OpCode, Byte)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と文字引数を書き込みます。

Emit(OpCode, ConstructorInfo)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定したコンストラクターの指定した命令とメタデータ トークンを書き込みます。

Emit(OpCode, Double)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。

Emit(OpCode, FieldInfo)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定したフィールドの指定した命令とメタデータ トークンを書き込みます。

Emit(OpCode, Int16)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。

Emit(OpCode, Int32)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。

Emit(OpCode, Int64)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。

Emit(OpCode, Label)

指定された命令を MSIL (Microsoft Intermediate Language) ストリームに書き込み、位置を確定した後でラベルを格納する領域を残します。

Emit(OpCode, Label[])

指定された命令を MSIL (Microsoft Intermediate Language) ストリームに書き込み、位置を確定した後でラベルを格納する領域を残します。

Emit(OpCode, LocalBuilder)

指定された命令を MSIL (Microsoft Intermediate Language) ストリームに書き込み、その後ろに指定されたローカル変数のインデックスを書き込みます。

Emit(OpCode, MethodInfo)

指定された命令を MSIL ストリームに書き込み、その後ろに指定されたメソッドのメタデータ トークンを書き込みます。

Emit(OpCode, SByte)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と文字引数を書き込みます。

Emit(OpCode, SignatureHelper)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令とシグネチャ トークンを書き込みます。

Emit(OpCode, Single)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。

Emit(OpCode, String)

指定された命令を MSIL ストリームに書き込み、その後ろに指定された文字列のメタデータ トークンを書き込みます。

Emit(OpCode, Type)

指定された命令を MSIL ストリームに書き込み、その後ろに指定された型のメタデータ トークンを書き込みます。

EmitCall(OpCode, MethodInfo, Type[])

Microsoft intermediate language (MSIL) ストリームに、varargs メソッドを呼び出す call または callvirt 命令を配置します。

EmitCalli(OpCode, CallingConvention, Type, Type[])

間接的な呼び出しにアンマネージ呼び出し規約を指定して、MSIL (Microsoft Intermediate Language) ストリームに Calli 命令を書き込みます。

EmitCalli(OpCode, CallingConventions, Type, Type[], Type[])

間接的な呼び出しにマネージド呼び出し規約を指定して、MSIL (Microsoft Intermediate Language) ストリームに Calli 命令を書き込みます。

EmitWriteLine(FieldInfo)

指定したフィールドを使用して WriteLine を呼び出すために必要な MSIL を生成します。

EmitWriteLine(LocalBuilder)

指定されたローカル変数で WriteLine を呼び出すのに必要な Microsoft Intermediate Language (MSIL) を生成します。

EmitWriteLine(String)

文字列を使用して WriteLine を呼び出す MSIL を生成します。

EndExceptionBlock()

例外ブロックを終了します。

EndScope()

構文のスコープを終了します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MarkLabel(Label)

指定したラベルを使用して、MSIL (Microsoft Intermediate Language) ストリームの現在の位置をマークします。

MarkSequencePoint(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

MSIL (Microsoft Intermediate Language) ストリーム内のシーケンス ポイントをマークします。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ThrowException(Type)

例外をスローする命令を生成します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
UsingNamespace(String)

現在のアクティブな構文のスコープのローカルとウォッチの評価で使用する名前空間を指定します。

明示的なインターフェイスの実装

_ILGenerator.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。

_ILGenerator.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。

_ILGenerator.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。

適用対象