Freigeben über


OpCodes.Stobj Feld

Definition

Kopiert einen Wert mit dem angegebenen Typ vom Auswertungsstapel in die angegebene Speicheradresse.

public: static initonly System::Reflection::Emit::OpCode Stobj;
public static readonly System.Reflection.Emit.OpCode Stobj;
 staticval mutable Stobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stobj 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
81 <T> stobj class Speichert einen Wert vom Typ class aus dem Stapel im Arbeitsspeicher.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Eine Adresse wird in den Stapel gepusht.

  2. Ein Werttypobjekt vom Typ class wird auf den Stapel gepusht.

  3. Das Objekt und die Adresse werden aus dem Stapel geploppt. das Werttypobjekt wird an der Adresse gespeichert.

Die stobj Anweisung kopiert das Werttypobjekt in die adresse angegebene Adresse (ein Zeiger vom Typ native int, *oder &). Die Anzahl der kopierten Bytes hängt von der Größe der Klasse ab, die von dargestellt wird class, einem Metadatentoken, das einen Werttyp darstellt.

Der Vorgang der stobj -Anweisung kann durch eine unmittelbar vorangehende Volatile - oder Unaligned Präfixanweisung geändert werden.

TypeLoadException wird ausgelöst, wenn die Klasse nicht gefunden werden kann. Dies wird in der Regel erkannt, wenn MSIL-Anweisungen (Microsoft Intermediate Language) nicht zur Laufzeit, sondern in nativen Code konvertiert werden.

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

Gilt für: