OpCodes.Stfld Campo

Definizione

Sostituisce il valore archiviato nel campo di un riferimento a un oggetto o un puntatore con un nuovo valore.

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 

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly MSIL (Intermediate Language) esadecimale e Microsoft istruzione, insieme a un breve riepilogo di riferimento:

Formato Formato assembly Descrizione
7D <T> stfld field Sostituisce il valore dell'oggetto field con un nuovo valore.

Il comportamento transitorio dello stack, in ordine sequenziale, è:

  1. Viene eseguito il push di un riferimento all'oggetto o di un puntatore nello stack.

  2. Viene eseguito il push di un valore nello stack.

  3. Il valore e il riferimento all'oggetto/puntatore vengono prelevati dallo stack; il valore di field nell'oggetto viene sostituito con il valore fornito.

L'istruzione stfld sostituisce il valore di un campo di un oggetto (tipo O) o tramite un puntatore (tipo native int, &o *) con un valore specificato. Field è un token di metadati che fa riferimento a un riferimento a un membro di campo. L'istruzione stfld può avere un prefisso di o entrambi e UnalignedVolatile.

NullReferenceException viene generata se il riferimento all'oggetto o il puntatore è un riferimento Null e il campo non è statico.

MissingFieldException viene generata se field non viene trovata nei metadati. Questo viene in genere controllato quando l'istruzione MSIL (Intermediate Language) Microsoft viene convertita in codice nativo, non in fase di esecuzione.

L'overload del metodo seguente Emit può usare il stfld codice operativo:

Si applica a