Freigeben über


OpCodes.Ldsflda Feld

Definition

Legt die Adresse eines statischen Felds auf dem Auswertungsstapel ab.

public: static initonly System::Reflection::Emit::OpCode Ldsflda;
public static readonly System.Reflection.Emit.OpCode Ldsflda;
 staticval mutable Ldsflda : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldsflda As OpCode 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und MSIL-Assemblyformat (Microsoft Intermediate Language) der Anweisung sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat BESCHREIBUNG
7F <T> ldsflda field Pushen der Adresse von field im Stapel

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Die Adresse eines bestimmten Felds wird auf den Stapel gepusht.

Die ldsflda Anweisung überträgt die Adresse eines statischen Felds (das von allen Instanzen einer Klasse gemeinsam genutzt wird) im Stapel. Die Adresse kann als vorübergehender Zeiger (Typ *) dargestellt werden, wenn das Metadatentoken field auf einen Typ verweist, dessen Arbeitsspeicher verwaltet wird. Andernfalls entspricht es einem nicht verwalteten Zeiger (Typ native int). Beachten Sie, dass field eine statische globale mit einer zugewiesenen relativen virtuellen Adresse (dem Offset des Felds von der Basisadresse, an der die enthaltende PE-Datei in den Arbeitsspeicher geladen wird) sein kann, bei der der Arbeitsspeicher nicht verwaltet wird.

Die ldsflda Anweisung kann ein Volatile Präfix aufweisen.

MissingFieldException wird ausgelöst, wenn das Feld in den Metadaten nicht gefunden wird. Dies wird in der Regel überprüft, wenn MSIL-Anweisungen (Microsoft Intermediate Language) nicht zur Laufzeit in nativen Code konvertiert werden.

Die folgende Emit Methodenüberladung kann den ldsflda Opcode verwenden:

Gilt für: