共用方式為


OpCodes.Unbox_Any 欄位

定義

將指令中指定的型別的 Boxed 表示轉換為其未收件匣表單。

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) 元件格式,以及簡短的參考摘要:

格式 元件格式 描述
A5 <T> unbox.any typeTok obj擷取數據,其 Boxed 表示法。

堆疊過渡行為依循序為:

  1. 對象參考 obj 會推送至堆疊。

  2. 對象參考會從堆疊中彈出,並解壓縮到指令中指定的類型。

  3. 產生的物件參考或實值類型會推送至堆疊。

當套用至實值型別的boxed格式時,unbox.any 指令會擷取包含在 obj 內的值(屬於類型 O),因此相當於 unbox 後面接著 ldobj

套用至參考型別時,unbox.any 指令的效果與 castclasstypeTok相同。

如果操作數 typeTok 是泛型型別參數,則運行時間行為是由指定給該泛型類型參數的類型所決定。

如果 obj 不是 Boxed 類型,則會擲回 InvalidCastException

如果 obj 為 null 參考,則會擲回 NullReferenceException

下列 Emit 方法多載可以使用 unbox.any opcode:

適用於