OpCodes.Stfld Campo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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, è:
Un riferimento all'oggetto o al puntatore viene eseguito il push nello stack.
Viene eseguito il push di un valore nello stack.
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 int
specificato.
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: