OpCodes.Unbox_Any フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
命令で指定された型のボックス化された表現を、ボックス化されていないフォームに変換します。
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 からデータを抽出します。 |
スタック遷移の動作は、順番に次のようになります。
オブジェクト参照
obj
がスタックにプッシュされます。オブジェクト参照はスタックからポップされ、命令で指定された型にボックス化解除されます。
結果のオブジェクト参照または値型がスタックにプッシュされます。
値型のボックス化された形式に適用すると、unbox.any
命令は (O
型の) obj
に含まれる値を抽出するため、unbox
の後に ldobj
が続くのと同じです。
参照型に適用すると、unbox.any
命令は castclass
typeTok
と同じ効果を持ちます。
オペランド typeTok
がジェネリック型パラメーターの場合、ランタイムの動作は、そのジェネリック型パラメーターに指定された型によって決まります。
obj
がボックス化された型でない場合、InvalidCastException がスローされます。
NullReferenceException は、obj
が null 参照である場合にスローされます。
次の Emit メソッドオーバーロードでは、unbox.any
オペコードを使用できます。
適用対象
.NET