次の方法で共有


OpCodes.Refanyval フィールド

型指定された参照に埋め込まれているアドレス (& 型) を取得します。

Public Shared ReadOnly Refanyval As OpCode
[C#]
public static readonly OpCode Refanyval;
[C++]
public: static OpCode Refanyval;
[JScript]
public static var Refanyval : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

形式 アセンブリ形式 説明
C2 < T > refanyval type 型指定された参照に格納されているアドレスをプッシュします。

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

  1. 値型参照がスタックにプッシュされます。
  2. 型指定された参照がスタックからポップされ、対応するアドレスが取得されます。
  3. アドレスがスタックにプッシュされます。

型指定された参照には、型トークンとオブジェクト インスタンスへのアドレスが含まれています。

refanyval 命令は、型指定された参照に埋め込まれているアドレスを取得します。スタック上で提供されている型指定された参照に埋め込まれている型は、type (メタデータ トークンの typedef または typeref) で指定された型と一致している必要があります。関連する内容については、 Mkrefany 命令のトピックを参照してください。

type が型参照に格納されている型と同一ではない場合は、 InvalidCastException がスローされます。この場合、type は、前述の型指定された参照を作成した Mkrefany 命令に提供されたクラスになります。

type が見つからない場合は、 TypeLoadException がスローされます。

refanyval オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode, Type)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間