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) アセンブリ形式と、簡単なリファレンス概要を示します。
| フォーマット | アセンブリ形式 | Description |
|---|---|---|
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 オペコードを使用できます。