OpCodes.Mkrefany Champ

Définition

Envoie une référence typée à une instance d’un type spécifique sur 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 (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
C6 <T> mkrefany class Envoie une référence typée de type class sur la pile.

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

  1. Un pointeur vers une partie de données est envoyé (push) sur la pile.

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

  3. La référence typée est envoyée (push) sur 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 une référence typée sur la pile, fournissant un descripteur opaque du pointeur et du type class.

La seule opération valide autorisée sur une référence typée consiste à la transmettre à une méthode qui nécessite une référence typée en tant que paramètre. L’appelé peut ensuite utiliser les instructions et Refanyval les Refanytype instructions pour récupérer le type (classe) et l’adresse respectivement.

TypeLoadException est levée s’il class est introuvable. Cela est généralement détecté lorsque Microsoft instructions MSIL (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 à