Partager via


OpCodes.Mkrefany Champ

Définition

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 :

  1. Un pointeur vers un élément de données est envoyé dans la pile.

  2. Le pointeur est déclenché et converti en référence typée de type class.

  3. 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 intet 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 :

S’applique à