OpCodes.Stfld Mező

Definíció

Egy objektumhivatkozás vagy mutató mezőjében tárolt értéket lecseréli egy új értékre.

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 

Mező értéke

Megjegyzések

Az alábbi táblázat felsorolja az utasítás hexadecimális és Microsoft köztes nyelv (MSIL) szerelvényformátumát, valamint egy rövid összefoglalást:

Format Szerelvény formátuma Leírás
7D <T> stfld field Az objektum értékét field egy új értékre cseréli.

A verem átmeneti viselkedése szekvenciális sorrendben a következő:

  1. A rendszer egy objektumhivatkozást vagy mutatót küld a verembe.

  2. A rendszer egy értéket küld a verembe.

  3. Az érték és az objektumhivatkozás/mutató megjelenik a veremből; az objektum értékét field a megadott értékre cseréli.

Az stfld utasítás egy objektum mezőjének értékét (típus O) vagy mutatóval (típus native int, &vagy *) egy adott értékre cseréli. Field egy metaadat-jogkivonat, amely egy mezőtag-hivatkozásra hivatkozik. Az stfld utasítás előtagja UnalignedVolatilevagy mindkettő vagy mindkettő lehet.

NullReferenceException akkor lesz eldobva, ha az objektumhivatkozás vagy a mutató null értékű hivatkozás, és a mező nem statikus.

MissingFieldException a rendszer eldobja, ha field nem található a metaadatok között. Ezt általában akkor ellenőrzi a rendszer, ha a Microsoft Köztes nyelv (MSIL) utasítás natív kódra van konvertálva, nem futásidőben.

A következő Emit metódus túlterhelése használhatja az stfld opcode-ot:

A következőre érvényes: