OpCodes.Castclass Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Tente de convertir un objet passé par référence à la classe spécifiée.
public: static initonly System::Reflection::Emit::OpCode Castclass;
public static readonly System.Reflection.Emit.OpCode Castclass;
[System.Runtime.InteropServices.ComVisible(true)]
public static readonly System.Reflection.Emit.OpCode Castclass;
staticval mutable Castclass : System.Reflection.Emit.OpCode
[<System.Runtime.InteropServices.ComVisible(true)>]
staticval mutable Castclass : System.Reflection.Emit.OpCode
Public Shared ReadOnly Castclass As OpCode
Valeur de champ
- Attributs
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 |
|---|---|---|
74 <T> |
castclass class |
Convertit un objet en un nouvel objet de type class. |
Le comportement transitionnel de la pile, dans l’ordre séquentiel, est :
Une référence d’objet est envoyée (push) sur la pile.
La référence d’objet est extraite de la pile ; l’objet référencé est casté comme étant
classspécifié.Si elle réussit, une nouvelle référence d’objet est envoyée (push) à la pile.
L’instruction castclass tente de convertir la référence d’objet (type O) en haut de la pile en classe spécifiée. La nouvelle classe est spécifiée par un jeton de métadonnées indiquant la classe souhaitée. Si la classe de l’objet en haut de la pile n’implémente pas la nouvelle classe (en supposant que la nouvelle classe est une interface) et n’est pas une classe dérivée de la nouvelle classe, une InvalidCastException classe est levée. Si la référence d’objet est une référence Null, castclass réussit et retourne le nouvel objet en tant que référence Null.
InvalidCastException est levée si obj ne peut pas être converti en classe.
TypeLoadException est levée si la classe est introuvable. Cela est généralement détecté lorsqu’une instruction MSIL (Microsoft Intermediate Language) est convertie en code natif plutôt qu’au moment de l’exécution.
La surcharge de méthode suivante Emit peut utiliser l’opcode castclass :