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 中介語言(MSIL)組合格式,並附有簡短參考摘要:
| Format | 組裝格式 | Description |
|---|---|---|
74 <T> |
演員類別 class |
將物件投射到新的類型 class物件。 |
堆疊的過渡行為依序為:
物件參考會被推入堆疊。
物件參考會從堆疊中彈出;被參考的物件會被鑄造為指定的
class。若成功,則會將新的物件參考推入堆疊。
指令 castclass 嘗試將堆疊頂端的物件參考(型別 O)投射到指定類別。 新類別由一個表示所需類別的元資料標記來指定。 如果堆疊頂端物件的類別未實作新類別(假設新類別是介面),且不是新類別的衍生類別,則會拋出 an InvalidCastException 。 若物件參考為空參考, castclass 則成功返回新物件為空參考。
InvalidCastException 若無法將 OBJ 投擲到職業,則會被擲出。
TypeLoadException 若找不到類別,則擲出。 這通常是在將 Microsoft Intermediate Language(MSIL)指令轉換為原生程式碼時偵測到,而非執行時。
以下 Emit 方法的超載可使用操作 castclass 碼: