OpCodes.Mkrefany 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.
Exécute un push d'une référence typée à une instance d'un type spécifique dans la pile d'évaluation.
public: static initonly System::Reflection::Emit::OpCode Mkrefany;
public static readonly System.Reflection.Emit.OpCode Mkrefany;
staticval mutable Mkrefany : System.Reflection.Emit.OpCode
Public Shared ReadOnly Mkrefany As OpCode
Valeur de champ
Remarques
Le tableau suivant répertorie le format d’assembly MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :
Format | Format d’assembly | Description |
---|---|---|
C6 <T > |
mkrefany class |
Envoie (push) une référence typée de type class dans la pile. |
Le comportement transitionnel de la pile, dans l’ordre séquentiel, est le suivant :
Un pointeur vers un élément de données est envoyé dans la pile.
Le pointeur est déclenché et converti en référence typée de type
class
.La référence typée est envoyée dans la pile.
L’instruction mkrefany
prend en charge le passage de références typées dynamiquement. Le pointeur doit être de type &
, *
ou native int
et contenir l’adresse valide d’un élément de données.
Class
est le jeton de classe décrivant le type des données référencées par le pointeur.
Mkrefany
envoie (push) une référence typée sur la pile, en fournissant un descripteur opaque du pointeur et du type class
.
La seule opération valide autorisée sur une référence typée est de la passer à une méthode qui nécessite une référence typée en tant que paramètre. L’appelé peut ensuite utiliser les Refanytype instructions et Refanyval pour récupérer le type (classe) et l’adresse respectivement.
TypeLoadException est levée si class
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 mkrefany
: