次の方法で共有


ILGenerator クラス

定義

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

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

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

コンストラクター

ILGenerator()

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

プロパティ

ILOffset

ILGeneratorによって出力される Microsoft 中間言語 (MSIL) ストリームの現在のオフセット (バイト単位) を取得します。

メソッド

BeginCatchBlock(Type)

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

BeginExceptFilterBlock()

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

BeginExceptionBlock()

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

BeginFaultBlock()

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

BeginFinallyBlock()

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

BeginScope()

字句スコープを開始します。

CreateLabel(Int32)

指定した ID を持つ Label を作成します。

DeclareLocal(Type)

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

DeclareLocal(Type, Boolean)

指定した型のローカル変数を宣言します。必要に応じて、変数によって参照されるオブジェクトを固定します。

DefineLabel()

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

Emit(OpCode)

指定した命令を命令のストリームに配置します。

Emit(OpCode, Byte)

指定した命令と文字引数を、命令の Microsoft 中間言語 (MSIL) ストリームに配置します。

Emit(OpCode, ConstructorInfo)

指定したコンストラクターの指定した命令とメタデータ トークンを、命令の Microsoft 中間言語 (MSIL) ストリームに配置します。

Emit(OpCode, Double)

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

Emit(OpCode, FieldInfo)

指定したフィールドの指定した命令とメタデータ トークンを、Microsoft 中間言語 (MSIL) の命令ストリームに配置します。

Emit(OpCode, Int16)

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

Emit(OpCode, Int32)

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

Emit(OpCode, Int64)

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

Emit(OpCode, Label)

指定した命令を Microsoft Intermediate Language (MSIL) ストリームに配置し、修正が完了したときにラベルを含める領域を残します。

Emit(OpCode, Label[])

指定した命令を Microsoft Intermediate Language (MSIL) ストリームに配置し、修正が完了したときにラベルを含める領域を残します。

Emit(OpCode, LocalBuilder)

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

Emit(OpCode, MethodInfo)

指定した命令を Microsoft Intermediate Language (MSIL) ストリームに配置し、その後に指定されたメソッドのメタデータ トークンを配置します。

Emit(OpCode, SByte)

指定した命令と文字引数を、命令の Microsoft 中間言語 (MSIL) ストリームに配置します。

Emit(OpCode, SignatureHelper)

指定した命令と署名トークンを、Microsoft Intermediate Language (MSIL) ストリームの命令に配置します。

Emit(OpCode, Single)

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

Emit(OpCode, String)

指定した命令を Microsoft Intermediate Language (MSIL) ストリームに配置し、その後に指定された文字列のメタデータ トークンを配置します。

Emit(OpCode, Type)

指定した命令を Microsoft 中間言語 (MSIL) ストリームに配置し、その後に指定された型のメタデータ トークンを配置します。

EmitCall(OpCode, MethodInfo, Type[])

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

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

Calli 命令を Microsoft Intermediate Language (MSIL) ストリームに配置し、間接呼び出しのアンマネージ呼び出し規則を指定します。

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

間接呼び出しのマネージド呼び出し規則を指定して、Calli 命令を Microsoft 中間言語 (MSIL) ストリームに配置します。

EmitWriteLine(FieldInfo)

指定したフィールドで WriteLine を呼び出すために必要な Microsoft Intermediate Language (MSIL) を出力します。

EmitWriteLine(LocalBuilder)

指定されたローカル変数を使用して WriteLine を呼び出すために必要な Microsoft 中間言語 (MSIL) を出力します。

EmitWriteLine(String)

文字列を使用して WriteLine を呼び出す Microsoft Intermediate Language (MSIL) を出力します。

EndExceptionBlock()

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

EndScope()

字句スコープを終了します。

Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetType()

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

(継承元 Object)
MarkLabel(Label)

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

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

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

MarkSequencePointCore(ISymbolDocumentWriter, Int32, Int32, Int32, Int32)

派生クラスでオーバーライドされた場合は、Microsoft Intermediate Language (MSIL) ストリーム内のシーケンス ポイントをマークします。

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)

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

適用対象