Partager via


OpCodes.Ldfld Champ

Définition

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

public: static initonly System::Reflection::Emit::OpCode Ldfld;
public static readonly System.Reflection.Emit.OpCode Ldfld;
 staticval mutable Ldfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldfld 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
7B <T> ldfld field Envoie (push) la valeur d’un champ dans un objet spécifié vers la pile.

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

  1. Une référence d’objet (ou pointeur) est envoyée dans la pile.

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

  3. La valeur stockée dans le champ est envoyée dans la pile.

L’instruction ldfld envoie la valeur d’un champ situé dans un objet sur la pile. L’objet doit se trouver sur la pile en tant que référence d’objet (type O), pointeur managé (type &), pointeur non managé (type native int), pointeur temporaire (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 membre de champ. Le type de retour est le même que celui associé au champ. Le champ peut être un champ 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 de l’un Unaligned des préfixes et Volatile ou des deux.

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

MissingFieldException est levée si le champ spécifié est introuvable dans les métadonnées. Cela est généralement vérifié lorsque les instructions MSIL (Microsoft Intermediate Language) sont converties en code natif, et non au moment de l’exécution.

La surcharge de méthode suivante Emit peut utiliser l’opcode ldfld :

S’applique à