OpCodes.Volatile Feld

Definition

Gibt an, dass eine Adresse, die derzeit auf dem Auswertungsstapel steht, veränderlich ist und die Ergebnisse des Lesens dieses Speicherorts nicht zwischengespeichert werden können oder dass mehrere Speicher an diesem Speicherort nicht unterdrückt werden können.

public: static initonly System::Reflection::Emit::OpCode Volatile;
public static readonly System.Reflection.Emit.OpCode Volatile;
 staticval mutable Volatile : System.Reflection.Emit.OpCode
Public Shared ReadOnly Volatile 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
FE 13 Flüchtige. Gibt an, dass der nachfolgende Zeigerverweis veränderlich ist.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Eine Adresse wird auf den Stapel verschoben.

volatile. Gibt an, dass die Adresse eine veränderliche Adresse ist (d. h., sie kann extern auf den aktuellen Ausführungsthread verwiesen werden) und die Ergebnisse des Lesens dieses Speicherorts können nicht zwischengespeichert werden oder dass mehrere Speicher an diesem Speicherort nicht unterdrückt werden können. Das Kennzeichnen eines Zugriffs betrifft volatile nur diesen einzelnen Zugriff. Andere Zugriffe auf denselben Speicherort müssen separat gekennzeichnet werden. Der Zugriff auf veränderliche Standorte muss nicht atomisch durchgeführt werden.

Die Unaligned Präfixe und volatile Präfixe können in beiden Reihenfolge kombiniert werden. Sie müssen unmittelbar vor einer ldind, stind, , ldfldstfld, , ldobj, stobjoder initblkcpblk Anweisung. Nur das volatile Präfix ist für die Ldsfld und Stsfld Anweisungen zulässig.

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

Gilt für: