OpCodes.Ldflda 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 adres pola w obiekcie, którego odwołanie znajduje się obecnie na stosie oceny.
public: static initonly System::Reflection::Emit::OpCode Ldflda;
public static readonly System.Reflection.Emit.OpCode Ldflda;
staticval mutable Ldflda : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldflda 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 |
---|---|---|
7C <T > |
ldflda field |
Wypycha adres field 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; adres określonego pola w obiekcie zostanie znaleziony.
Adres określonego pola jest wypychany do stosu.
Instrukcja ldflda
wypycha adres 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.
Wartość zwracana przez ldflda
jest zarządzanym wskaźnikiem (typem &
), chyba że obiekt jest wypychany do stosu jako niezarządzany wskaźnik, w którym przypadku adres zwracany jest również niezarządzanym wskaźnikiem (wpisz native int
).
Instrukcje ldflda
mogą być poprzedzone albo zarówno Unaligned prefiksami, jak i Volatile .
InvalidOperationException jest zgłaszany, jeśli obiekt nie znajduje się w domenie aplikacji, z której jest uzyskiwany dostęp. Nie można załadować adresu pola, które nie znajduje się w domenie aplikacji dostępu.
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ć ldflda
kodu opcode: