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) アセンブリ形式と、簡単なリファレンス概要を示します。
| フォーマット | アセンブリ形式 | Description |
|---|---|---|
8C <T> |
ボックス valTypeToken |
値型 ( valTypeToken で指定された型) を true オブジェクト参照に変換します。 |
スタック遷移の動作は、順番に次のようになります。
値型がスタックにプッシュされます。
値型はスタックからポップされます。
box操作が実行されます。結果の "ボックス化された" 値型へのオブジェクト参照がスタックにプッシュされます。
値型には、共通言語インフラストラクチャ (CLI) 内に 2 つの個別の表現があります。
値型が別のオブジェクトまたはスタックに埋め込まれている場合に使用される 'raw' フォーム。
"ボックス化" フォーム。値型のデータがオブジェクトにラップ (ボックス化) され、独立したエンティティとして存在できます。
box命令は、'raw' (ボックス化されていない) 値型をオブジェクト参照 (型O) に変換します。 これを行うには、新しいオブジェクトを作成し、値型から新しく割り当てられたオブジェクトにデータをコピーします。
valTypeToken は、スタック上の値型の型を示すメタデータ トークンです。
OutOfMemoryException は、要求を満たすのに十分なメモリがない場合にスローされます。
TypeLoadException は、クラスが見つからない場合にスローされます。 これは通常、Microsoft Intermediate Language (MSIL) が実行時ではなくネイティブ コードに変換されるときに検出されます。
次の Emit メソッドオーバーロードでは、 box オペコードを使用できます。