OpCodes.Ldobj 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.
Kopiert das Werttypobjekt, auf das von einer Adresse oben im Auswertungsstapel verwiesen wird.
public: static initonly System::Reflection::Emit::OpCode Ldobj;
public static readonly System.Reflection.Emit.OpCode Ldobj;
staticval mutable Ldobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldobj 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 |
|---|---|---|
71 <T> |
ldobj class |
Kopieren Sie die Instanz des Werttyps class in den Stapel. |
Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:
Die Adresse eines Werttypobjekts wird auf den Stapel verschoben.
Die Adresse wird aus dem Stapel angezeigt, und die Instanz an dieser bestimmten Adresse wird nachschlagen.
Der Wert des Objekts, das an dieser Adresse gespeichert ist, wird auf den Stapel verschoben.
Die ldobj Anweisung wird verwendet, um einen Werttyp als Parameter zu übergeben.
Die ldobj Anweisung kopiert den Wert, auf den (vom Typ &, *oder native int) an den Anfang des Stapels verwiesen addrOfValObj wird. Die Anzahl der kopierten Bytes hängt von der Größe der Klasse ab (wie durch den class Parameter angegeben). Der class Parameter ist ein Metadatentoken, das den Werttyp darstellt.
Der Vorgang der ldobj Anweisung kann durch eine unmittelbar vorangehende Volatile oder Unaligned präfixe Anweisung geändert werden.
TypeLoadException wird ausgelöst, wenn die Klasse nicht gefunden werden kann. Dies wird in der Regel erkannt, wenn die Microsoft Zwischensprache (MSIL)-Anweisung nicht zur Laufzeit, sondern in systemeigenen Code konvertiert wird.
Die folgende Emit Methodenüberladung kann den ldobj Opcode verwenden: