OpCodes.Box 欄位

定義

將實值型別 (Value Type) 轉換成物件參考 (型別 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 

欄位值

備註

下表列出指示的十六進位和Microsoft中繼語言 (MSIL) 元件格式,以及簡短的參考摘要:

格式 元件格式 描述
8C <T> valTypeToken 將實值型別 () 中指定的 valTypeToken 型別轉換為 true 物件參考。

堆疊轉換行為會依循序順序為:

  1. 實值型別會推送至堆疊。

  2. 實值型別會從堆疊中快顯;會 box 執行作業。

  3. 所產生「Boxed」實數值型別的物件參考會推送至堆疊。

實值型別在 Common Language Infrastructure (CLI) 中有兩個不同的標記法:

  • 當實值型別內嵌在另一個物件或堆疊上時,所使用的「原始」表單。

  • 'boxed' 表單,其中實值型別中的資料會包裝 (boxed) 物件,使其可以做為獨立的實體存在。

指令 box 會將 'raw' (unboxed) 實數值型別轉換成物件參考 (類型 O) 。 這是藉由建立新的 物件,並將值型別的資料複製到新配置的 物件來完成。 valTypeToken 是元資料標記,表示堆疊上實值型別的類型。

OutOfMemoryException 如果記憶體不足而無法滿足要求,則會擲回 。

TypeLoadException 如果找不到類別,則會擲回 。 這通常會在Microsoft中繼語言 (MSIL) 轉換成機器碼,而不是在執行時間時偵測到。

下列 Emit 方法多載可以使用 box opcode:

適用於