OpCodes.Ldfld Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
Odwołanie do obiektu (lub wskaźnik) jest wypychane do stosu.
Odwołanie do obiektu (lub wskaźnik) jest zwieńczone ze stosu; zostanie znaleziona wartość określonego pola w obiekcie.
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: