Condividi tramite


OpCodes.Stfld Campo

Definizione

Sostituisce il valore archiviato nel campo di un riferimento a un oggetto o 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 dell'assembly esadecimale e Microsoft Intermediate Language (MSIL), 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 di transizione dello stack, in ordine sequenziale, è:

  1. Un riferimento all'oggetto o al puntatore viene eseguito il push nello stack.

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

  3. Il valore e il riferimento/puntatore dell'oggetto vengono visualizzati dallo stack; il valore di field nell'oggetto viene sostituito con il valore specificato.

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

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

MissingFieldException viene generato se field non viene trovato nei metadati. Questa operazione viene in genere controllata quando l'istruzione Microsoft Intermediate Language (MSIL) viene convertita in codice nativo, non in fase di esecuzione.

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

Si applica a