Freigeben über


OpCodes.Stfld Feld

Definition

Ersetzt den im Feld eines Objektsverweises oder Zeigers gespeicherten Wert durch einen neuen Wert.

public: static initonly System::Reflection::Emit::OpCode Stfld;
public static readonly System.Reflection.Emit.OpCode Stfld;
 staticval mutable Stfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Stfld 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
7D <T> stfld field Ersetzt den Wert des field -Objekts durch einen neuen Wert.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Ein Objektverweis oder Zeiger wird auf den Stapel gepusht.

  2. Ein Wert wird auf den Stapel gepusht.

  3. Der Wert und der Objektverweis/Zeiger werden aus dem Stapel geploppt. Der Wert von field im -Objekt wird durch den angegebenen Wert ersetzt.

Die stfld Anweisung ersetzt den Wert eines Felds eines Objekts (Typ O) oder über einen Zeiger (Typ native int, &oder *) durch einen bestimmten Wert. Field ist ein Metadatentoken, das auf einen Feldmemberverweis verweist. Die stfld -Anweisung kann ein Präfix von oder von Unaligned und Volatileaufweisen.

NullReferenceException wird ausgelöst, wenn der Objektverweis oder Zeiger ein NULL-Verweis ist und das Feld nicht statisch ist.

MissingFieldException wird ausgelöst, wenn field in den Metadaten nicht gefunden wird. Dies wird in der Regel überprüft, wenn die MSIL-Anweisung (Microsoft Intermediate Language) nicht zur Laufzeit in nativen Code konvertiert wird.

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

Gilt für: