OpCodes.Castclass 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
嘗試將參考所傳遞的物件轉型為指定的類別。
public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode
欄位值
- 屬性
備註
下表列出指示的十六進位和 Microsoft Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:
格式 | 元件格式 | Description |
---|---|---|
74 <T > |
castclass class |
將物件轉換成 型 class 別的新物件。 |
堆疊轉換行為會依循序順序為:
對象參考會推送至堆疊。
對象參考會從堆疊快顯;參考的物件會轉換成指定的
class
。如果成功,則會將新的對象參考推送至堆疊。
指令 castclass
會嘗試將對象參考 (類型 O
) 堆疊頂端轉換成指定的類別。 新類別是由指出所需類別的元數據標記所指定。 如果堆疊頂端的物件類別未實作新的類別, (假設新類別是介面) ,而且不是新類別的衍生類別,則會 InvalidCastException 擲回 。 如果對象參考是 Null 參考, castclass
會成功並傳回新的 物件做為 Null 參考。
InvalidCastException 如果 obj 無法轉換成類別,則會擲回 。
TypeLoadException 如果找不到類別,則會擲回 。 當 Microsoft Intermediate Language (MSIL) 指令轉換成機器碼,而不是運行時間時,通常會偵測到此狀況。
下列 Emit 方法多載可以使用 castclass
opcode: