OpCodes.Ldflda 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.
Trova l'indirizzo di un campo nell'oggetto il cui riferimento si trova attualmente nello stack di valutazione.
public: static initonly System::Reflection::Emit::OpCode Ldflda;
public static readonly System.Reflection.Emit.OpCode Ldflda;
staticval mutable Ldflda : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldflda 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 |
---|---|---|
7C <T > |
ldflda field |
Esegue il push dell'indirizzo di field in un oggetto specificato nello stack. |
Il comportamento di transizione dello stack, in ordine sequenziale, è:
Un riferimento a oggetti (o puntatore) viene eseguito il push nello stack.
Il riferimento all'oggetto (o puntatore) viene rimosso dallo stack; viene trovato l'indirizzo del campo specificato nell'oggetto.
L'indirizzo del campo specificato viene eseguito il push nello stack.
L'istruzione ldflda
esegue il push dell'indirizzo di un campo situato in un oggetto nello stack. L'oggetto deve essere nello stack come riferimento a un oggetto (tipo O
), un puntatore gestito (tipo &
), un puntatore non gestito (tipo ), un puntatore temporaneo (tipo native int
*
) o un'istanza di un tipo valore. L'uso di un puntatore non gestito non è consentito nel codice verificabile. Il campo dell'oggetto viene specificato da un token di metadati che deve fare riferimento a un membro del campo.
Il valore restituito da ldflda
è un puntatore gestito (tipo &
) a meno che l'oggetto non venga eseguito il push nello stack come puntatore non gestito, nel qual caso l'indirizzo restituito è anche un puntatore non gestito (tipo native int
).
L'istruzione ldflda
può essere preceduta da o entrambi i Unaligned prefissi.Volatile
InvalidOperationException viene generato se l'oggetto non si trova all'interno del dominio dell'applicazione a cui viene eseguito l'accesso. L'indirizzo di un campo che non si trova all'interno del dominio dell'applicazione di accesso non può essere caricato.
NullReferenceException viene generato se l'oggetto è Null e il campo non è statico.
MissingFieldException viene generato se il campo specificato non viene trovato nei metadati. Questa operazione viene in genere controllata quando le istruzioni MSIL (Microsoft Intermediate Language) vengono convertite in codice nativo, non in fase di esecuzione.
L'overload del metodo seguente Emit può usare il ldflda
codice opcode:
Si applica a
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: nel corso del 2024 verranno dismessi i problemi di GitHub come meccanismo di feedback per il contenuto e verranno sostituiti con un nuovo sistema di feedback. Per altre informazioni, vedere:Invia e visualizza il feedback per