OpCodes.Ldflda Feld
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sucht die Adresse eines Felds im Objekt, dessen Verweis sich derzeit im Auswertungsstapel befindet.
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
Feldwert
Hinweise
In der folgenden Tabelle sind das Hexadezimal- und Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:
| Format | Assemblyformat | Description |
|---|---|---|
7C <T> |
ldflda field |
Verschiebt die Adresse eines field angegebenen Objekts auf den Stapel. |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
Ein Objektverweis (oder Zeiger) wird auf den Stapel verschoben.
Der Objektverweis (oder Der Zeiger) wird aus dem Stapel angezeigt; die Adresse des angegebenen Felds im Objekt gefunden wird.
Die Adresse des angegebenen Felds wird auf den Stapel verschoben.
Die ldflda Anweisung verschiebt die Adresse eines Felds, das sich in einem Objekt befindet, auf den Stapel. Das Objekt muss sich im Stapel als Objektverweis (Typ O), einen verwalteten Zeiger (Typ &), einen nicht verwalteten Zeiger (Typ native int), einen vorübergehenden Zeiger (Typ *) oder eine Instanz eines Werttyps befinden. Die Verwendung eines nicht verwalteten Zeigers ist im überprüfbaren Code nicht zulässig. Das Feld des Objekts wird durch ein Metadatentoken angegeben, das auf ein Feldelement verweisen muss.
Der von ldflda einem verwalteten Zeiger zurückgegebene Wert ist ein verwalteter Zeiger (Typ &), es sei denn, das Objekt wird als nicht verwalteter Zeiger auf den Stapel verschoben, in diesem Fall ist die Absenderadresse auch ein nicht verwalteter Zeiger (Typ native int).
Der ldflda Anweisung kann entweder oder beide UnalignedVolatile Präfixe vorangestellt werden.
InvalidOperationException wird ausgelöst, wenn sich das Objekt nicht in der Anwendungsdomäne befindet, von der aus darauf zugegriffen wird. Die Adresse eines Felds, das sich nicht in der zugreifenden Anwendungsdomäne befindet, kann nicht geladen werden.
NullReferenceException wird ausgelöst, wenn das Objekt NULL ist und das Feld nicht statisch ist.
MissingFieldException wird ausgelöst, wenn das angegebene Feld in den Metadaten nicht gefunden wird. Dies wird normalerweise überprüft, wenn Microsoft MSIL-Anweisungen (Intermediate Language) nicht zur Laufzeit in systemeigenen Code konvertiert werden.
Die folgende Emit Methodenüberladung kann den ldflda Opcode verwenden: