Udostępnij za pośrednictwem


OpCodes.Ldfld Pole

Definicja

Znajduje wartość pola w obiekcie, którego odwołanie znajduje się obecnie na stosie oceny.

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 

Wartość pola

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy i microsoft intermediate language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
7B <T> ldfld field Wypycha wartość pola w określonym obiekcie do stosu.

Zachowanie przejściowe stosu w kolejności sekwencyjnej to:

  1. Odwołanie do obiektu (lub wskaźnik) jest wypychane do stosu.

  2. Odwołanie do obiektu (lub wskaźnik) jest zwieńczone ze stosu; zostanie znaleziona wartość określonego pola w obiekcie.

  3. Wartość przechowywana w polu jest wypychana do stosu.

Instrukcja ldfld wypycha wartość pola znajdującego się w obiekcie do stosu. Obiekt musi znajdować się na stosie jako odwołanie do obiektu (typ O), zarządzany wskaźnik (typ ), niezarządzany wskaźnik (typ &), przejściowy wskaźnik (typ native int*) lub wystąpienie typu wartości. Użycie niezarządzanego wskaźnika nie jest dozwolone w kodzie weryfikowalnym. Pole obiektu jest określane przez token metadanych, który musi odwoływać się do elementu członkowskiego pola. Zwracany typ jest taki sam jak typ skojarzony z polem. Pole może być polem wystąpienia (w tym przypadku obiekt nie może być odwołaniem o wartości null) lub polem statycznym.

Instrukcje ldfld mogą być poprzedzone albo zarówno Unaligned prefiksami, jak i Volatile .

NullReferenceException jest zgłaszany, jeśli obiekt ma wartość null, a pole nie jest statyczne.

MissingFieldException jest zgłaszany, jeśli określone pole nie zostanie znalezione w metadanych. Zazwyczaj jest to sprawdzane, gdy instrukcje języka Microsoft Intermediate Language (MSIL) są konwertowane na kod natywny, a nie w czasie wykonywania.

Następujące Emit przeciążenie metody może używać ldfld kodu opcode:

Dotyczy