DynamicILInfo DynamicILInfo DynamicILInfo DynamicILInfo Class

定義

トークンを作成するメソッドや、コード、例外処理、およびローカル変数のシグネチャの BLOB を挿入するメソッドなど、動的メソッドの MSIL (Microsoft Intermediate Language) とメタデータを生成する代替の方法をサポートします。Provides support for alternative ways to generate the Microsoft intermediate language (MSIL) and metadata for a dynamic method, including methods for creating tokens and for inserting the code, exception handling, and local variable signature blobs.

public ref class DynamicILInfo
[System.Runtime.InteropServices.ComVisible(true)]
public class DynamicILInfo
type DynamicILInfo = class
Public Class DynamicILInfo
継承
DynamicILInfoDynamicILInfoDynamicILInfoDynamicILInfo
属性

注釈

DynamicILInfoクラスにより、使用する代わりに、独自の MSIL ジェネレーターを記述する開発者ILGeneratorします。The DynamicILInfo class allows developers to write their own MSIL generators instead of using ILGenerator.

他の型のインスタンスを作成するメソッド、および具合を呼び出して、MSIL を生成することは、これらのエンティティに対してトークンを含める必要があります。To create instances of other types, call methods, and so on, the MSIL you generate must include tokens for those entities. DynamicILInfoクラスのいくつかのオーバー ロードには、GetTokenForメソッドは、現在のスコープで有効なトークンを返すDynamicILInfoします。The DynamicILInfo class provides several overloads of the GetTokenFor method, which return tokens valid in the scope of the current DynamicILInfo. オーバー ロードを呼び出す必要がある場合など、Console.WriteLineメソッドを取得できます、RuntimeMethodHandleのオーバー ロードに渡すと、 GetTokenFor MSIL に埋め込むには、トークンを取得します。For example, if you need to call an overload of the Console.WriteLine method, you can obtain a RuntimeMethodHandle for that overload and pass it to the GetTokenFor method to obtain a token to embed in your MSIL.

作成した後Byte使用することができます、ローカル変数シグネチャ、例外、およびコード本体の配列をSetCodeSetExceptions、およびSetLocalSignatureに挿入するメソッド、DynamicMethodに関連付けられている、 DynamicILInfoオブジェクト。Once you have created Byte arrays for your local variable signature, exceptions, and code body, you can use the SetCode, SetExceptions, and SetLocalSignature methods to insert them into the DynamicMethod associated with your DynamicILInfo object.

独自のメタデータと MSIL を生成する知識が必要です、共通言語基盤 (CLI) ドキュメントでは、特に"第 2 部。Metadata Definition and Semantics」(パーティション II: メタデータの定義とセマンティクス) および「Partition III:CIL Instruction Set」(パーティション III: CIL 命令セット) を参照してください。Generating your own metadata and MSIL requires familiarity with the Common Language Infrastructure (CLI) documentation, especially "Partition II: Metadata Definition and Semantics" and "Partition III: CIL Instruction Set". ドキュメントはオンラインで入手できます。MSDN の「ECMA C# and Common Language Infrastructure Standards」 (ECMA の C# および共通言語基盤の標準規格) と、ECMA のインターナショナル Web サイトにある「Standard ECMA-335 - Common Language Infrastructure (CLI)」を参照してください。The documentation is available online; see ECMA C# and Common Language Infrastructure Standards on MSDN and Standard ECMA-335 - Common Language Infrastructure (CLI) on the Ecma International Web site.

注意

使用しないDynamicILInfoデリゲート コンス トラクターを直接呼び出すことによって他の動的メソッドにデリゲートを作成するコードを生成します。Do not use DynamicILInfo to generate code that creates a delegate to another dynamic method by calling the delegate constructor directly. 代わりに、使用、CreateDelegateデリゲートを作成します。Instead, use the CreateDelegate method to create the delegate. デリゲート コンス トラクターで作成されるデリゲートには、ターゲットの動的メソッドへの参照はありません。A delegate that is created with the delegate constructor does not have a reference to the target dynamic method. 動的メソッドは、デリゲートをまだ使用中にガベージ コレクションによってクリア可能性があります。The dynamic method might be reclaimed by garbage collection while the delegate is still in use.

プロパティ

DynamicMethod DynamicMethod DynamicMethod DynamicMethod

本体が現在のインスタンスによって生成される動的メソッドを取得します。Gets the dynamic method whose body is generated by the current instance.

メソッド

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)
GetTokenFor(Byte[]) GetTokenFor(Byte[]) GetTokenFor(Byte[]) GetTokenFor(Byte[])

関連付けられた動的メソッドのシグネチャを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing the signature for the associated dynamic method.

GetTokenFor(DynamicMethod) GetTokenFor(DynamicMethod) GetTokenFor(DynamicMethod) GetTokenFor(DynamicMethod)

関連付けられたメソッドから呼び出される動的メソッドを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing a dynamic method to be called from the associated method.

GetTokenFor(RuntimeFieldHandle) GetTokenFor(RuntimeFieldHandle) GetTokenFor(RuntimeFieldHandle) GetTokenFor(RuntimeFieldHandle)

関連付けられた動的メソッドからアクセスされるフィールドを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing a field to be accessed from the associated dynamic method.

GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle) GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle) GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle) GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle)

関連付けられた動的メソッドからアクセスされるフィールドのうち、指定されたジェネリック型に存在するフィールドを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing a field to be accessed from the associated dynamic method; the field is on the specified generic type.

GetTokenFor(RuntimeMethodHandle) GetTokenFor(RuntimeMethodHandle) GetTokenFor(RuntimeMethodHandle) GetTokenFor(RuntimeMethodHandle)

関連付けられた動的メソッドからアクセスされるメソッドを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing a method to be accessed from the associated dynamic method.

GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle) GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle) GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle) GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle)

ジェネリック型のメソッドを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing a method on a generic type.

GetTokenFor(RuntimeTypeHandle) GetTokenFor(RuntimeTypeHandle) GetTokenFor(RuntimeTypeHandle) GetTokenFor(RuntimeTypeHandle)

関連付けられた動的メソッドで使用される型を表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing a type to be used in the associated dynamic method.

GetTokenFor(String) GetTokenFor(String) GetTokenFor(String) GetTokenFor(String)

関連付けられた動的メソッドで使用されるリテラル文字列を表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。Gets a token, valid in the scope of the current DynamicILInfo, representing a string literal to be used in the associated dynamic method.

GetType() GetType() GetType() GetType()

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

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
SetCode(Byte*, Int32, Int32) SetCode(Byte*, Int32, Int32) SetCode(Byte*, Int32, Int32) SetCode(Byte*, Int32, Int32)

関連付けられた動的メソッドのコード本体を設定します。Sets the code body of the associated dynamic method.

SetCode(Byte[], Int32) SetCode(Byte[], Int32) SetCode(Byte[], Int32) SetCode(Byte[], Int32)

関連付けられた動的メソッドのコード本体を設定します。Sets the code body of the associated dynamic method.

SetExceptions(Byte*, Int32) SetExceptions(Byte*, Int32) SetExceptions(Byte*, Int32) SetExceptions(Byte*, Int32)

関連付けられた動的メソッドの例外のメタデータを設定します。Sets the exception metadata for the associated dynamic method.

SetExceptions(Byte[]) SetExceptions(Byte[]) SetExceptions(Byte[]) SetExceptions(Byte[])

関連付けられた動的メソッドの例外のメタデータを設定します。Sets the exception metadata for the associated dynamic method.

SetLocalSignature(Byte*, Int32) SetLocalSignature(Byte*, Int32) SetLocalSignature(Byte*, Int32) SetLocalSignature(Byte*, Int32)

関連付けられた動的メソッドのローカル変数のレイアウトを記述する、ローカル変数のシグネチャを設定します。Sets the local variable signature that describes the layout of local variables for the associated dynamic method.

SetLocalSignature(Byte[]) SetLocalSignature(Byte[]) SetLocalSignature(Byte[]) SetLocalSignature(Byte[])

関連付けられた動的メソッドのローカル変数のレイアウトを記述する、ローカル変数のシグネチャを設定します。Sets the local variable signature that describes the layout of local variables for the associated dynamic method.

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

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

(Inherited from Object)

適用対象