Développer Réduire
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

OpCodes.Ldvirtftn, champ

Mise à jour : novembre 2007

Exécute un push d'un pointeur non managé (type native int) sur le code natif implémentant une méthode virtuelle spécifique associée à un objet spécifié dans la pile d'évaluation.

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

public static readonly OpCode Ldvirtftn
public static final OpCode Ldvirtftn
public static final var Ldvirtftn : OpCode

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

FE 07 < T >

ldvirtftn method

Exécute un push du pointeur vers une méthode virtuelle d'objet method dans la pile.

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

  1. Une référence d'objet fait l'objet d'un push dans la pile.

  2. La référence d'objet est extraite (pop) de la pile et l'adresse du point d'entrée à la méthode (comme spécifié par le jeton de métadonnées method) est recherchée.

  3. Le pointeur vers method fait l'objet d'un push dans la pile.

Le pointeur non managé obtenu ayant fait l'objet d'un push dans la pile par l'instruction ldvirtftn peut être appelé à l'aide de l'instruction Calli s'il fait référence à une méthode managée (ou à un stub qui passe du code managé au code non managé).

Le pointeur non managé pointe sur le code natif en utilisant la convention d'appel spécifiée par le jeton de métadonnées method. Il en résulte que le pointeur de méthode peut être passé en code natif non managé (par exemple, en tant que routine de rappel) si cette routine attend la convention d'appel correspondante.

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

  • ILGenerator.Emit(OpCode, MethodInfo)

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0, 1.1, 1.0
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
© 2013 Microsoft. Tous droits réservés.