OpCodes.Unbox_Any フィールド

定義

命令で指定された型のボックス化変換された形式を、ボックス化が解除された形式に変換します。

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

フィールド値

注釈

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

形式 アセンブリ形式 説明
A5 <T> unbox.any typeTok から objデータを抽出します。そのボックス化された表現。

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

  1. オブジェクト参照 obj がスタックにプッシュされます。

  2. オブジェクト参照はスタックからポップされ、命令で指定された型にボックス化解除されます。

  3. 結果として得られるオブジェクト参照または値型がスタックにプッシュされます。

値型のボックス化された形式に適用すると、unbox.any命令は ( 型Oの ) にobj含まれる値を抽出し、その後ldobjunbox と同じです。

参照型に適用すると、 unbox.any 命令は と同じ効果 castclasstypeTokを持ちます。

オペランド typeTok がジェネリック型パラメーターの場合、ランタイム動作は、そのジェネリック型パラメーターに指定された型によって決まります。

InvalidCastException がボックス化された型でない場合 obj は がスローされます。

NullReferenceException が null 参照の場合 obj は がスローされます。

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

適用対象