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
フィールド値
注釈
次の表に、命令の 16 進数と Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単な参照の概要を示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
75 <T > |
isinst class |
オブジェクト参照が の class インスタンスであるかどうかをテストし、null 参照またはそのクラスまたはインターフェイスのインスタンスを返します。 |
スタック遷移の動作は、順番に次のようになります。
オブジェクト参照がスタックにプッシュされます。
オブジェクト参照はスタックからポップされ、 で
class
渡されたクラスのインスタンスであるかどうかを確認するためにテストされます。結果 (オブジェクト参照または null 参照) がスタックにプッシュされます。
Class
は、目的のクラスを示すメタデータ トークンです。 スタックの上部にある オブジェクトのクラスが を実装 class
する場合 (が インターフェイスの場合 class
)、または の派生クラス (が通常のクラス class
の場合) である場合 class
は、型 class
にキャストされ、結果は呼び出されたかのように Castclass スタックにプッシュされます。 それ以外の場合は、null 参照がスタックにプッシュされます。 オブジェクト参照自体が null 参照である場合は、 isinst
同様に null 参照を返します。
TypeLoadException クラスが見つからない場合は がスローされます。 これは通常、Microsoft Intermediate Language (MSIL) 命令が実行時ではなくネイティブ コードに変換されるときに検出されます。
次 Emit のメソッド オーバーロードでは、オペコードを isinst
使用できます。
適用対象
.NET