OpCodes.Unbox フィールド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
値型のボックス化変換された形式をボックス化が解除された形式に変換します。
public: static initonly System::Reflection::Emit::OpCode Unbox;
public static readonly System.Reflection.Emit.OpCode Unbox;
staticval mutable Unbox : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox As OpCode
フィールド値
注釈
次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンスの概要を示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
79 <T > |
Unbox valType |
ボックス化された表現から obj 値型データを抽出します。 |
スタック遷移の動作は、順番に次のようになります。
オブジェクト参照がスタックにプッシュされます。
オブジェクト参照はスタックからポップされ、値型ポインターにボックス化解除されます。
値型ポインターがスタックにプッシュされます。
値型には、共通言語インフラストラクチャ (CLI) 内に 2 つの個別の表現があります。
値型が別のオブジェクトに埋め込まれている場合に使用される 'raw' フォーム。
"ボックス化" フォーム。値型のデータがオブジェクトにラップ (ボックス化) され、独立したエンティティとして存在できます。
命令は unbox
、オブジェクト参照 (型 O
) (値型のボックス化された表現) を値型ポインター (マネージド ポインター、型 &
) に変換し、ボックス化解除されたフォームに変換します。 指定された値の型 (valType
) は、ボックス化されたオブジェクトに含まれる値型の型を示すメタデータ トークンです。
オブジェクトで使用するために値型のコピーを作成するために必要な とは異なり Box、 unbox
オブジェクトから値型をコピーする必要はありません。 通常、ボックス化されたオブジェクト内に既に存在する値型のアドレスを計算するだけです。
InvalidCastException オブジェクトが として valType
ボックス化されていない場合は、 がスローされます。
NullReferenceException は、オブジェクト参照が null 参照である場合にスローされます。
TypeLoadException 値の型 valType
が見つからない場合は がスローされます。 これは通常、Microsoft Intermediate Language (MSIL) 命令が実行時ではなくネイティブ コードに変換されるときに検出されます。
次 Emit のメソッド オーバーロードでは、オペコードを unbox
使用できます。
適用対象
.NET