語言

OpCodes.Unbox_Any 欄位

定義

將指令中指定的型別的盒狀表示轉換為未盒裝的形式。

public: static initonly System::Reflection::Emit::OpCode Unbox_Any;
public static readonly System.Reflection.Emit.OpCode Unbox_Any;
 staticval mutable Unbox_Any : System.Reflection.Emit.OpCode
Public Shared ReadOnly Unbox_Any As OpCode 

欄位值

備註

下表列出指令的十六進位與 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:

Format 組裝格式 Description
A5 <T> Unbox.any。 typeTok 從中提取資料 obj,其盒狀表示。

堆疊的過渡行為依序為:

  1. 物件參考 obj 會被推入堆疊。

  2. 物件參考從堆疊中彈出並解框為指令中指定的類型。

  3. 產生的物件參考或值型態會被推送到堆疊中。

當指令應用於某值型態的盒型形式時, unbox.any 指令會擷取包含在 obj (型別 O的)中的值,因此等價於 unbox 接著 ldobj。

當該指令套用於參考型別時, unbox.any 具有與 castclasstypeTok相同的效果。

若運算元 typeTok 為通用型態參數,則執行時行為由該通用型態參數所指定的型別決定。

InvalidCastException 若 obj 不是盒型,則會被擲出。

NullReferenceException 若 obj 為空參考,則拋出。

以下 Emit 方法的超載可使用操作 unbox.any 碼:

適用於