語言

OpCodes.Isinst 欄位

定義

測試物件參考(型別 O)是否為特定類別的實例。

public: static initonly System::Reflection::Emit::OpCode Isinst;
public static readonly System.Reflection.Emit.OpCode Isinst;
 staticval mutable Isinst : System.Reflection.Emit.OpCode
Public Shared ReadOnly Isinst As OpCode 

欄位值

備註

下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:

Format 組裝格式 Description
75 <T> 是的 class 測試物件參考是否為 的 class實例,回傳空引用或該類別或介面的實例。

堆疊的過渡行為依序為:

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

  2. 物件參考從堆疊中彈出並測試是否為傳遞入 class的類別實例。

  3. 結果(無論是物件參考還是空參考)會被推送到堆疊中。

Class 是表示所需類別的元資料標記。 如果堆疊頂端物件的類別實作(若class為介面)或為的衍生類別class(若class為一般類別),則該物件會被鑄造為型別class,並將結果推送到堆疊中,就像被呼叫一樣class。Castclass 否則,堆疊會推入一個空參考。 如果物件參考本身是空參考,則 isinst 同樣回傳空參考。

TypeLoadException 若找不到類別,則擲出。 這通常是在 Microsoft 中間語言(MSIL)指令轉換成原生程式碼時被偵測到,而非執行時。

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

適用於