OpCodes.Box 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將實值型別 (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) 元件格式,以及簡短的參考摘要:
格式 | 元件格式 | Description |
---|---|---|
8C <T > |
箱 valTypeToken |
將值型別 () 中指定的 valTypeToken 型別轉換為 true 對象參考。 |
堆疊轉換行為依循序順序為:
實值類型會推送至堆疊。
值類型會從堆疊中彈出;會
box
執行作業。產生的「Boxed」實值型別的對象參考會推送至堆疊。
實值類型在 Common Language Infrastructure (CLI) 中有兩個不同的表示法:
當實值型別內嵌在另一個物件或堆疊上時,所使用的 'raw' 窗體。
'boxed' 窗體,其中實值型別中的數據會包裝在 (方塊化) 到 物件中,讓它可以以獨立實體的形式存在。
指令 box
會將 'raw' (unboxed) 實值型別轉換成對象參考 (類型 O
) 。 這可藉由建立新的物件,並將值型別的數據複製到新配置的 物件來完成。
valTypeToken
是元數據標記,表示堆疊上實值型別的類型。
OutOfMemoryException 如果記憶體不足而無法滿足要求,則會擲回 。
TypeLoadException 如果找不到 類別,則會擲回 。 當 Microsoft Intermediate Language (MSIL) 轉換成機器碼,而不是運行時間時,通常會偵測到此狀況。
下列 Emit 方法多載可以使用 box
opcode: