OpCodes.Box 欄位

定義

將值型態轉換為物件參考(型別 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)組合格式,並附有簡短參考摘要:

Format 組裝格式 Description
8C <T> 盒子 valTypeToken 將一個值型別(在 中 valTypeToken指定的型別)轉換成真正的物件參考。

堆疊的過渡行為依序為:

  1. 一個值型態會被推送到堆疊上。

  2. 值型別會從堆疊中彈出; box 手術隨即執行。

  3. 將物件參考推送到堆疊中。

在通用語言基礎設施(CLI)中,一個值類型有兩種不同的表示方式:

  • 當值型別嵌入於其他物件或堆疊中時,會使用「原始」形式。

  • 一種「盒裝」形式,將值型別的資料包裝(盒裝)成一個物件,使其能作為獨立實體存在。

指令會 box 將「原始」(未裝框)值型態轉換成物件參考型態(型別 O)。 這是透過建立一個新物件,並將該值型別的資料複製到新分配的物件中來達成的。 valTypeToken 是表示堆疊中值類型類型的元資料標記。

OutOfMemoryException 若記憶體不足以滿足請求,則會拋出 。

TypeLoadException 若找不到該類別,則會被拋出。 這通常是在 Microsoft Intermediate Language(MSIL)轉換成原生程式碼時偵測到,而非執行時。

以下 Emit 方法的超載可使用操作 box 碼:

適用於