DynamicILInfoとは? わかりやすく解説

DynamicILInfo クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

トークンを作成するメソッドや、コード、例外処理、およびローカル変数のシグネチャの BLOB を挿入するメソッドなど、動的メソッドの MSIL (Microsoft Intermediate Language) とメタデータを生成する代替の方法をサポートします。

名前空間: System.Reflection.Emit
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<ComVisibleAttribute(True)> _
Public Class DynamicILInfo
Dim instance As DynamicILInfo
[ComVisibleAttribute(true)] 
public class DynamicILInfo
[ComVisibleAttribute(true)] 
public ref class DynamicILInfo
/** @attribute ComVisibleAttribute(true) */ 
public class DynamicILInfo
ComVisibleAttribute(true) 
public class DynamicILInfo
解説解説

DynamicILInfo クラスを使用すると、開発者は ILGenerator を使用する代わりに独自の MSIL ジェネレータを作成できます。

他の型、呼び出しメソッドなどのインスタンスを作成するには、生成する MSIL にこれらのエンティティのトークンを含める必要があります。DynamicILInfo クラスには、GetTokenFor メソッドの複数のオーバーロードが用意されています。これらのオーバーロードは、現在の DynamicILInfo のスコープで有効なトークンを返します。たとえば、System.Console.WriteLine メソッドのオーバーロードを呼び出す必要がある場合は、そのオーバーロードの RuntimeMethodHandle を取得し、これを GetTokenFor メソッドに渡して MSIL に埋め込むトークンを取得できます。

ローカル変数のシグネチャ、例外、およびコード本体の Byte 配列を作成したら、SetCode、SetExceptions、SetLocalSignature の各メソッドを使用して、DynamicILInfo オブジェクトに関連付けられた DynamicMethod にこれらを挿入できます。

独自のメタデータと MSIL を生成するには、共通言語基盤 (CLI: Common Language Infrastructure) のドキュメント、特に「Partition II: Metadata Definition and Semantics」と「Partition III: CIL Instruction Set」に精通している必要があります。このドキュメントは、http://msdn.microsoft.com/net/ecma/ および http://www.ecma-international.org/publications/standards/Ecma-335.htm で入手できます。

継承階層継承階層
System.Object
  System.Reflection.Emit.DynamicILInfo
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DynamicILInfo メンバ
System.Reflection.Emit 名前空間

DynamicILInfo プロパティ


パブリック プロパティパブリック プロパティ

参照参照

関連項目

DynamicILInfo クラス
System.Reflection.Emit 名前空間

DynamicILInfo メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetTokenFor オーバーロードされます。 関連付けられた動的メソッドの MSIL ストリーム内の文字列、フィールド、メソッド、型、またはシグネチャを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド SetCode オーバーロードされます。 関連付けられた動的メソッドのコード本体を設定します。
パブリック メソッド SetExceptions オーバーロードされます。 関連付けられた動的メソッドの例外のメタデータを設定します。
パブリック メソッド SetLocalSignature オーバーロードされます。 関連付けられた動的メソッドのローカル変数のレイアウトを記述する、ローカル変数のシグネチャを設定します。
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DynamicILInfo クラス
System.Reflection.Emit 名前空間

DynamicILInfo メンバ

トークンを作成するメソッドや、コード、例外処理、およびローカル変数のシグネチャの BLOB を挿入するメソッドなど、動的メソッドの MSIL (Microsoft Intermediate Language) とメタデータを生成する代替の方法をサポートします。

DynamicILInfo データ型で公開されるメンバを以下の表に示します。


パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetTokenFor オーバーロードされます。 関連付けられた動的メソッドの MSIL ストリーム内の文字列、フィールド、メソッド、型、またはシグネチャを表す、現在の DynamicILInfo のスコープで有効なトークンを取得します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド SetCode オーバーロードされます。 関連付けられた動的メソッドのコード本体を設定します。
パブリック メソッド SetExceptions オーバーロードされます。 関連付けられた動的メソッドの例外のメタデータを設定します。
パブリック メソッド SetLocalSignature オーバーロードされます。 関連付けられた動的メソッドのローカル変数のレイアウトを記述する、ローカル変数のシグネチャを設定します。
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

DynamicILInfo クラス
System.Reflection.Emit 名前空間



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DynamicILInfo」の関連用語

DynamicILInfoのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DynamicILInfoのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS