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