OpCodes.Isinst 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
測試物件參考(型別 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實例,回傳空引用或該類別或介面的實例。 |
堆疊的過渡行為依序為:
物件參考會被推入堆疊。
物件參考從堆疊中彈出並測試是否為傳遞入
class的類別實例。結果(無論是物件參考還是空參考)會被推送到堆疊中。
Class 是表示所需類別的元資料標記。 如果堆疊頂端物件的類別實作(若class為介面)或為的衍生類別class(若class為一般類別),則該物件會被鑄造為型別class,並將結果推送到堆疊中,就像被呼叫一樣class。Castclass 否則,堆疊會推入一個空參考。 如果物件參考本身是空參考,則 isinst 同樣回傳空參考。
TypeLoadException 若找不到類別,則擲出。 這通常是在 Microsoft 中間語言(MSIL)指令轉換成原生程式碼時被偵測到,而非執行時。
以下 Emit 方法的超載可使用操作 isinst 碼: