OpCodes.Isinst Champ

Définition

Teste si une référence d’objet (type O) est une instance d’une classe particulière.

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 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d'assembly MSIL (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
75 <T> isinst class Teste si une référence d’objet est une instance de class, en retournant une référence Null ou une instance de cette classe ou interface.

Le comportement transitionnel de la pile, dans l’ordre séquentiel, est :

  1. Une référence d’objet est envoyée (push) sur la pile.

  2. La référence d’objet est extraite de la pile et testée pour voir s’il s’agit d’une instance de la classe passée class.

  3. Le résultat (une référence d’objet ou une référence Null) est envoyé (push) sur la pile.

Class est un jeton de métadonnées indiquant la classe souhaitée. Si la classe de l’objet en haut de la pile implémente class (s’il class s’agit d’une interface) ou est une classe dérivée de class (s’il class s’agit d’une classe normale), elle est castée en type class et le résultat est envoyé (push) sur la pile, exactement comme si Castclass elle avait été appelée. Sinon, une référence Null est envoyée (push) sur la pile. Si la référence d’objet elle-même est une référence Null, isinst retourne également une référence Null.

TypeLoadException est levée si la classe est introuvable. Cela est généralement détecté lorsque les instructions MSIL (Microsoft Intermediate Language) sont converties en code natif plutôt qu’au moment de l’exécution.

La surcharge de méthode suivante Emit peut utiliser l’opcode isinst :

S’applique à