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 Intermediate Language (MSIL) 元件格式,以及簡短的參考摘要:

格式 元件格式 Description
75 <T> isinst class 測試對象參考是否為的 class實例,並傳回 Null 參考或該類別或介面的實例。

堆疊轉換行為會依循序順序為:

  1. 對象參考會推送至堆疊。

  2. 對象參考會從堆疊快顯並經過測試,以查看它是傳入 class之類別的實例。

  3. (對象參考或 null 參考) 的結果會推送至堆疊。

Class 是表示所需類別的元數據標記。 如果堆棧頂端 class 的物件類別實作 (如果 class 是介面) ,或是 (的衍生類別 class ,如果 class 是一般類別) 則會轉換成類型 class ,而且結果會推送到堆疊上,就像已呼叫一樣 Castclass 。 否則,會在堆疊上推送Null 參考。 如果對象參考本身是 Null 參考,則 isinst 同樣會傳回 Null 參考。

TypeLoadException 如果找不到類別,則會擲回 。 當 Microsoft Intermediate Language (MSIL) 指令轉換成機器碼,而不是運行時間時,通常會偵測到此情況。

下列 Emit 方法多載可以使用 isinst opcode:

適用於