OpCodes.Mkrefany フィールド

定義

特定の型のインスタンスへの型指定された参照を評価スタックにプッシュします。

public: static initonly System::Reflection::Emit::OpCode Mkrefany;
public static readonly System.Reflection.Emit.OpCode Mkrefany;
 staticval mutable Mkrefany : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mkrefany As OpCode 

フィールド値

注釈

次の表に、命令の 16 進数および Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。

フォーマット アセンブリ形式 Description
C6 <T> mkrefany class class型の型指定された参照をスタックにプッシュします。

スタック遷移の動作は、順番に次のようになります。

  1. データの一部へのポインターがスタックにプッシュされます。

  2. ポインターはポップされ、 class型の型指定された参照に変換されます。

  3. 型指定された参照がスタックにプッシュされます。

mkrefany命令は、動的に型指定された参照の渡しをサポートします。 ポインターは、 &*、または native intの型で、データの有効なアドレスを保持する必要があります。 Class は、ポインターによって参照されるデータの型を記述するクラス トークンです。 Mkrefany は、型指定された参照をスタックにプッシュし、ポインターと型 classの不透明な記述子を提供します。

型指定された参照に対して許可される唯一の有効な操作は、型指定された参照をパラメーターとして必要とするメソッドに渡すことです。 呼び出し先は、 RefanytypeRefanyval 命令を使用して、それぞれ型 (クラス) とアドレスを取得できます。

TypeLoadException は、 class が見つからない場合にスローされます。 これは通常、Microsoft Intermediate Language (MSIL) 命令が実行時ではなくネイティブ コードに変換されるときに検出されます。

次の Emit メソッドオーバーロードでは、 mkrefany オペコードを使用できます。

適用対象