ILGenerator ILGenerator ILGenerator ILGenerator Class

定義

MSIL (Microsoft Intermediate Language) 命令を生成します。 Generates Microsoft intermediate language (MSIL) instructions.

public ref 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
    interface _ILGenerator
Public Class ILGenerator
Implements _ILGenerator
継承
ILGeneratorILGeneratorILGeneratorILGenerator
属性
実装

注釈

ILGenerator 動的アセンブリのメソッドとコンス トラクターのメソッド本体を生成するために使用 (によって表される、MethodBuilderConstructorBuilderクラス) と、スタンドアロンの動的メソッドの (によって表される、DynamicMethodクラス)。ILGenerator is used to generate method bodies for methods and constructors in dynamic assemblies (represented by the MethodBuilder and ConstructorBuilder classes) and for standalone dynamic methods (represented by the DynamicMethod class). 取得する、ILGeneratorを使用して、 ConstructorBuilder.GetILGeneratorDynamicMethod.GetILGenerator、およびMethodBuilder.GetILGeneratorメソッド。To obtain an ILGenerator, use the ConstructorBuilder.GetILGenerator, DynamicMethod.GetILGenerator, and MethodBuilder.GetILGenerator methods.

MSIL は、-イン タイム (JIT) コンパイラへの入力として使用されます。MSIL is used as input to a just-in-time (JIT) compiler.

プロパティ

ILOffset ILOffset ILOffset ILOffset

ILGenerator によって生成されている MSIL (Microsoft Intermediate Language) ストリーム内の現在のオフセットをバイト単位で取得します。 Gets the current offset, in bytes, in the Microsoft intermediate language (MSIL) stream that is being emitted by the ILGenerator.

方法

BeginCatchBlock(Type) BeginCatchBlock(Type) BeginCatchBlock(Type) BeginCatchBlock(Type)

Catch ブロックを開始します。 Begins a catch block.

BeginExceptFilterBlock() BeginExceptFilterBlock() BeginExceptFilterBlock() BeginExceptFilterBlock()

フィルター処理された例外の例外ブロックを開始します。 Begins an exception block for a filtered exception.

BeginExceptionBlock() BeginExceptionBlock() BeginExceptionBlock() BeginExceptionBlock()

フィルター処理されない例外の例外ブロックを開始します。 Begins an exception block for a non-filtered exception.

BeginFaultBlock() BeginFaultBlock() BeginFaultBlock() BeginFaultBlock()

MSIL (Microsoft Intermediate Language) ストリームで例外フォールト ブロックを開始します。 Begins an exception fault block in the Microsoft intermediate language (MSIL) stream.

BeginFinallyBlock() BeginFinallyBlock() BeginFinallyBlock() BeginFinallyBlock()

MSIL (Microsoft Intermediate Language) 命令ストリームで finally ブロックを開始します。 Begins a finally block in the Microsoft intermediate language (MSIL) instruction stream.

BeginScope() BeginScope() BeginScope() BeginScope()

構文のスコープを開始します。 Begins a lexical scope.

DeclareLocal(Type) DeclareLocal(Type) DeclareLocal(Type) DeclareLocal(Type)

指定した型のローカル変数を宣言します。 Declares a local variable of the specified type.

DeclareLocal(Type, Boolean) DeclareLocal(Type, Boolean) DeclareLocal(Type, Boolean) DeclareLocal(Type, Boolean)

指定した型のローカル変数を宣言し、オプションでその変数が参照するオブジェクトを固定します。 Declares a local variable of the specified type, optionally pinning the object referred to by the variable.

DefineLabel() DefineLabel() DefineLabel() DefineLabel()

新しいラベルを宣言します。 Declares a new label.

Emit(OpCode) Emit(OpCode) Emit(OpCode) Emit(OpCode)

指定された命令を命令のストリームに書き込みます。 Puts the specified instruction onto the stream of instructions.

Emit(OpCode, Byte) Emit(OpCode, Byte) Emit(OpCode, Byte) Emit(OpCode, Byte)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と文字引数を書き込みます。 Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, ConstructorInfo) Emit(OpCode, ConstructorInfo) Emit(OpCode, ConstructorInfo) Emit(OpCode, ConstructorInfo)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定したコンストラクターの指定した命令とメタデータ トークンを書き込みます。 Puts the specified instruction and metadata token for the specified constructor onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Double) Emit(OpCode, Double) Emit(OpCode, Double) Emit(OpCode, Double)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。 Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, FieldInfo) Emit(OpCode, FieldInfo) Emit(OpCode, FieldInfo) Emit(OpCode, FieldInfo)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定したフィールドの指定した命令とメタデータ トークンを書き込みます。 Puts the specified instruction and metadata token for the specified field onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int16) Emit(OpCode, Int16) Emit(OpCode, Int16) Emit(OpCode, Int16)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。 Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int32) Emit(OpCode, Int32) Emit(OpCode, Int32) Emit(OpCode, Int32)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。 Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Int64) Emit(OpCode, Int64) Emit(OpCode, Int64) Emit(OpCode, Int64)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。 Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Label) Emit(OpCode, Label) Emit(OpCode, Label) Emit(OpCode, Label)

指定された命令を MSIL (Microsoft Intermediate Language) ストリームに書き込み、位置を確定した後でラベルを格納する領域を残します。 Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

Emit(OpCode, Label[]) Emit(OpCode, Label[]) Emit(OpCode, Label[]) Emit(OpCode, Label[])

指定された命令を MSIL (Microsoft Intermediate Language) ストリームに書き込み、位置を確定した後でラベルを格納する領域を残します。 Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream and leaves space to include a label when fixes are done.

Emit(OpCode, LocalBuilder) Emit(OpCode, LocalBuilder) Emit(OpCode, LocalBuilder) Emit(OpCode, LocalBuilder)

指定された命令を MSIL (Microsoft Intermediate Language) ストリームに書き込み、その後ろに指定されたローカル変数のインデックスを書き込みます。 Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the index of the given local variable.

Emit(OpCode, MethodInfo) Emit(OpCode, MethodInfo) Emit(OpCode, MethodInfo) Emit(OpCode, MethodInfo)

指定された命令を MSIL ストリームに書き込み、その後ろに指定されたメソッドのメタデータ トークンを書き込みます。 Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given method.

Emit(OpCode, SByte) Emit(OpCode, SByte) Emit(OpCode, SByte) Emit(OpCode, SByte)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と文字引数を書き込みます。 Puts the specified instruction and character argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, SignatureHelper) Emit(OpCode, SignatureHelper) Emit(OpCode, SignatureHelper) Emit(OpCode, SignatureHelper)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令とシグネチャ トークンを書き込みます。 Puts the specified instruction and a signature token onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, Single) Emit(OpCode, Single) Emit(OpCode, Single) Emit(OpCode, Single)

命令の MSIL (Microsoft Intermediate Language) ストリームに、指定した命令と数値引数を書き込みます。 Puts the specified instruction and numerical argument onto the Microsoft intermediate language (MSIL) stream of instructions.

Emit(OpCode, String) Emit(OpCode, String) Emit(OpCode, String) Emit(OpCode, String)

指定された命令を MSIL ストリームに書き込み、その後ろに指定された文字列のメタデータ トークンを書き込みます。 Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given string.

Emit(OpCode, Type) Emit(OpCode, Type) Emit(OpCode, Type) Emit(OpCode, Type)

指定された命令を MSIL ストリームに書き込み、その後ろに指定された型のメタデータ トークンを書き込みます。 Puts the specified instruction onto the Microsoft intermediate language (MSIL) stream followed by the metadata token for the given type.

EmitCall(OpCode, MethodInfo, Type[]) EmitCall(OpCode, MethodInfo, Type[]) EmitCall(OpCode, MethodInfo, Type[]) EmitCall(OpCode, MethodInfo, Type[])

Microsoft intermediate language (MSIL) ストリームに、varargs メソッドを呼び出す call または callvirt 命令を配置します。 Puts a call or callvirt instruction onto the Microsoft intermediate language (MSIL) stream to call a varargs method.

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

間接的な呼び出しにアンマネージ呼び出し規約を指定して、MSIL (Microsoft Intermediate Language) ストリームに Calli 命令を書き込みます。 Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying an unmanaged calling convention for the indirect call.

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

間接的な呼び出しにマネージド呼び出し規約を指定して、MSIL (Microsoft Intermediate Language) ストリームに Calli 命令を書き込みます。 Puts a Calli instruction onto the Microsoft intermediate language (MSIL) stream, specifying a managed calling convention for the indirect call.

EmitWriteLine(FieldInfo) EmitWriteLine(FieldInfo) EmitWriteLine(FieldInfo) EmitWriteLine(FieldInfo)

指定したフィールドを使用して WriteLine を呼び出すために必要な MSIL を生成します。 Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given field.

EmitWriteLine(LocalBuilder) EmitWriteLine(LocalBuilder) EmitWriteLine(LocalBuilder) EmitWriteLine(LocalBuilder)

指定されたローカル変数で WriteLine を呼び出すのに必要な Microsoft Intermediate Language (MSIL) を生成します。 Emits the Microsoft intermediate language (MSIL) necessary to call WriteLine with the given local variable.

EmitWriteLine(String) EmitWriteLine(String) EmitWriteLine(String) EmitWriteLine(String)

文字列を使用して WriteLine を呼び出す MSIL を生成します。 Emits the Microsoft intermediate language (MSIL) to call WriteLine with a string.

EndExceptionBlock() EndExceptionBlock() EndExceptionBlock() EndExceptionBlock()

例外ブロックを終了します。 Ends an exception block.

EndScope() EndScope() EndScope() EndScope()

構文のスコープを終了します。 Ends a lexical scope.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。 Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。 Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。 Gets the Type of the current instance.

(Inherited from Object)
MarkLabel(Label) MarkLabel(Label) MarkLabel(Label) MarkLabel(Label)

指定したラベルを使用して、MSIL (Microsoft Intermediate Language) ストリームの現在の位置をマークします。 Marks the Microsoft intermediate language (MSIL) stream's current position with the given label.

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

MSIL (Microsoft Intermediate Language) ストリーム内のシーケンス ポイントをマークします。 Marks a sequence point in the Microsoft intermediate language (MSIL) stream.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。 Creates a shallow copy of the current Object.

(Inherited from Object)
ThrowException(Type) ThrowException(Type) ThrowException(Type) ThrowException(Type)

例外をスローする命令を生成します。 Emits an instruction to throw an exception.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。 Returns a string that represents the current object.

(Inherited from Object)
UsingNamespace(String) UsingNamespace(String) UsingNamespace(String) UsingNamespace(String)

現在のアクティブな構文のスコープのローカルとウォッチの評価で使用する名前空間を指定します。 Specifies the namespace to be used in evaluating locals and watches for the current active lexical scope.

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

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

一連の名前を対応する一連のディスパッチ識別子に割り当てます。 Maps a set of names to a corresponding set of dispatch identifiers.

_ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr) _ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr) _ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr) _ILGenerator.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この型情報を使用して、インターフェイスの型情報を取得できます。 Retrieves the type information for an object, which can then be used to get the type information for an interface.

_ILGenerator.GetTypeInfoCount(UInt32) _ILGenerator.GetTypeInfoCount(UInt32) _ILGenerator.GetTypeInfoCount(UInt32) _ILGenerator.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。 Retrieves the number of type information interfaces that an object provides (either 0 or 1).

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

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。 Provides access to properties and methods exposed by an object.

適用対象