OpCodes.Stobj Feld

Definition

Kopiert einen Wert eines angegebenen Typs aus dem Auswertungsstapel in eine 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 Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat Description
81 <T> stobj class Speichert einen Wert vom Typ class aus dem Stapel in den Arbeitsspeicher.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Eine Adresse wird auf den Stapel verschoben.

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

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

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

Der Vorgang der stobj 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 Microsoft MSIL-Anweisungen (Intermediate Language) nicht zur Laufzeit, sondern in systemeigenen Code konvertiert werden.

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

Gilt für: