OpCodes.Ldfld 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 den Wert eines Felds im Objekt, dessen Verweis sich derzeit im Auswertungsstapel befindet.
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
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 |
|---|---|---|
7B <T> |
ldfld field |
Verschiebt den Wert eines Felds in einem angegebenen Objekt 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; der Wert des angegebenen Felds im Objekt gefunden wird.
Der im Feld gespeicherte Wert wird auf den Stapel verschoben.
Die ldfld Anweisung verschiebt den Wert 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 Rückgabetyp ist identisch mit dem mit dem Feld verknüpften. Das Feld kann entweder ein Instanzfeld (in diesem Fall darf das Objekt kein Nullverweis sein) oder ein statisches Feld sein.
Der ldfld Anweisung kann entweder oder beide UnalignedVolatile Präfixe vorangestellt 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 ldfld Opcode verwenden: