OpCodes.Ldfld Champ

Définition

Recherche la valeur d’un champ dans l’objet dont la référence se trouve actuellement sur 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 (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

Format Format d’assembly Description
7B <T> ldfld field Envoie (push) la valeur d’un champ dans un objet spécifié dans la pile.

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

  1. Une référence d’objet (ou pointeur) est envoyée (ou push) à 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 (push) sur la pile.

L’instruction ldfld envoie (push) 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 identique à 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 des préfixes ou Volatile des Unaligned deux.

NullReferenceException est levée si l’objet a la valeur 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 Microsoft instructions MSIL (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 à