OpCodes.Unbox_Any 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將指令中指定的型別的 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 表示法。 |
堆疊過渡行為依循序為:
對象參考
obj
會推送至堆疊。對象參考會從堆疊中彈出,並解壓縮到指令中指定的類型。
產生的物件參考或實值類型會推送至堆疊。
當套用至實值型別的boxed格式時,unbox.any
指令會擷取包含在 obj
內的值(屬於類型 O
),因此相當於 unbox
後面接著 ldobj
。
套用至參考型別時,unbox.any
指令的效果與 castclass
typeTok
相同。
如果操作數 typeTok
是泛型型別參數,則運行時間行為是由指定給該泛型類型參數的類型所決定。
如果 obj
不是 Boxed 類型,則會擲回 InvalidCastException。
如果 obj
為 null 參考,則會擲回 NullReferenceException。
下列 Emit 方法多載可以使用 unbox.any
opcode: