Freigeben über


OpCodes.Stobj-Feld

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

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared ReadOnly Stobj As OpCode
'Usage
Dim value As OpCode

value = OpCodes.Stobj
public static readonly OpCode Stobj
public:
static initonly OpCode Stobj
public static final OpCode Stobj
public static final var Stobj : OpCode

Hinweise

In der folgenden Tabelle werden das hexadezimale und das Assemblyformat der MSIL (Microsoft Intermediate Language) jeweils mit einer Kurzreferenz aufgeführt:

Format

Assemblyformat

Beschreibung

81 < T >

stobj class

Speichert einen Wert vom Typ class vom Stapel in den Speicher.

Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:

  1. Eine Adresse wird auf dem Stapel abgelegt.

  2. Ein Werttypobjekt vom Typ class wird auf dem Stapel abgelegt.

  3. Das Objekt und die Adresse werden vom Stapel geholt, und das Werttypobjekt wird an der Adresse gespeichert.

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

Die Funktionsweise der stobj-Anweisung kann geändert werden, indem dieser die Volatile-Präfixanweisung oder die Unaligned-Präfixanweisung unmittelbar vorangestellt wird.

TypeLoadException wird ausgelöst, wenn die Klasse nicht gefunden werden kann. Dies wird normalerweise nicht zur Laufzeit erkannt, sondern beim Konvertieren von MSIL-Anweisungen (Microsoft Intermediate Language) in systemeigenen Code.

Die folgende Überladung der Emit-Methode verwendet den stobj-Opcode:

  • ILGenerator.Emit(OpCode, Type)

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

OpCodes-Klasse
OpCodes-Member
System.Reflection.Emit-Namespace