次の方法で共有


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) アセンブリ形式と、簡単なリファレンスの概要を示します。

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

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

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

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

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

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

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

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

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

適用対象