OpCodes.Ldflda Pole

Definicja

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:

  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; adres określonego pola w obiekcie zostanie znaleziony.

  3. 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:

Dotyczy