Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

OpCodes.Mkrefany, champ

Exécute un push d'une référence typée à une instance d'un type spécifique dans la pile d'évaluation.

Espace de noms :  System.Reflection.Emit
Assembly :  mscorlib (dans mscorlib.dll)

public static readonly OpCode Mkrefany

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

Format

Format d'assembly

Description

C6 < T >

mkrefany class

Exécute un push d'une référence typée de type class dans la pile.

Le comportement de transition de la pile, dans un ordre séquentiel, est le suivant :

  1. Un pointeur vers un élément de données fait l'objet d'un push dans 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 fait l'objet d'un push 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 de données référencées par le pointeur. Mkrefany exécute un push d'une référence typée dans la pile, en fournissant un descripteur opaque du pointeur et le type class.

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

TypeLoadException est levé si class est introuvable. Cette exception est généralement détectée lors de la conversion des instructions MSIL (Microsoft Intermediate Language) en code natif et non pas au moment de l'exécution.

La surcharge de méthode Emit suivante peut utiliser l'opcode mkrefany :

  • ILGenerator.Emit(OpCode, Type)

.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft