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

OpCodes.Ldfld, champ

Mise à jour : novembre 2007

Recherche la valeur d'un champ dans l'objet dont la référence est actuellement située dans la pile d'évaluation.

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

public static readonly OpCode Ldfld
public static final OpCode Ldfld
public static final var Ldfld : 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

7B < T >

ldfld field

Exécute un push de la valeur d'un champ dans un objet spécifié 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 (ou pointeur) fait l'objet d'un push dans la pile.

  2. La référence d'objet (ou pointeur) est extraite (pop) de la pile ; la valeur du champ spécifié dans l'objet est trouvée.

  3. La valeur stockée dans le champ fait l'objet d'un push dans la pile.

L'instruction ldfld exécute un push de la valeur d'un champ situé dans un objet dans la pile. L'objet doit être situé dans la pile en tant que référence d'objet (type O), pointeur managé (type &), pointeur non managé (type native int), pointeur transitoire (type *) ou instance d'un type valeur. L'utilisation d'un pointeur non managé n'est pas autorisée dans le code vérifiable. Le champ de l'objet est spécifié par un jeton de métadonnées qui doit faire référence à un champ de membre. Le type de retour est le même que celui associé au champ. Le champ peut être un champ d'instance (auquel cas l'objet ne doit pas être une référence null) ou un champ statique.

L'instruction ldfld peut être précédée du préfixe Unaligned ou Volatile, voire des deux.

NullReferenceException est levé si l'objet est null et que le champ n'est pas statique.

MissingFieldException est levé si le champ spécifié est introuvable dans les métadonnées. Cette exception est généralement vérifié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 ldfld :

  • ILGenerator.Emit(OpCode, FieldInfo)

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.