OpCodes.Unbox_Any 欄位

定義

將指令中指定之類型的 boxed 表示轉換成其 unboxed 形式。

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

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

堆疊轉換行為依循序順序為:

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

  2. 對象參考會從堆疊快顯,並取消收件匣到指令中指定的類型。

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

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

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

如果操作數 typeTok 是泛型型別參數,則運行時間行為取決於針對該泛型類型參數指定的類型。

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

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

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

適用於