OpCodes.Castclass 欄位

定義

嘗試透過指定類別的引用來拋射物件。

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物件。

堆疊的過渡行為依序為:

  1. 物件參考會被推入堆疊。

  2. 物件參考會從堆疊中彈出;被參考的物件會被鑄造為指定的 class

  3. 若成功,則會將新的物件參考推入堆疊。

指令 castclass 嘗試將堆疊頂端的物件參考(型別 O)投射到指定類別。 新類別由一個表示所需類別的元資料標記來指定。 如果堆疊頂端物件的類別未實作新類別(假設新類別是介面),且不是新類別的衍生類別,則會拋出 an InvalidCastException 。 若物件參考為空參考, castclass 則成功返回新物件為空參考。

InvalidCastException 若無法將 OBJ 投擲到職業,則會被擲出。

TypeLoadException 若找不到類別,則擲出。 這通常是在將 Microsoft Intermediate Language(MSIL)指令轉換為原生程式碼時偵測到,而非執行時。

以下 Emit 方法的超載可使用操作 castclass 碼:

適用於