OpCodes.Ldflda Campo

Definizione

Trova l'indirizzo di un campo nell'oggetto il cui riferimento è 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 di assembly MSIL (Intermediate Language) esadecimale e Microsoft istruzione, insieme a un breve riepilogo di riferimento:

Formato Formato assembly Description
7C <T> ldflda field Inserisce l'indirizzo di field in un oggetto specificato nello stack.

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

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

  2. Il riferimento all'oggetto (o puntatore) viene estratto dallo stack; viene trovato l'indirizzo del campo specificato nell'oggetto .

  3. L'indirizzo del campo specificato viene inserito nello stack.

L'istruzione ldflda inserisce l'indirizzo di un campo che si trova in un oggetto nello stack. L'oggetto deve trovarsi nello stack come riferimento all'oggetto (tipo O), un puntatore gestito (tipo &), un puntatore non gestito (tipo native int), un puntatore temporaneo (tipo *) 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 inserito 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 da entrambi i Unaligned prefissi e Volatile .

InvalidOperationException viene generata se l'oggetto non si trova all'interno del dominio applicazione a cui si accede. L'indirizzo di un campo che non si trova all'interno del dominio applicazione di accesso non può essere caricato.

NullReferenceException viene generata se l'oggetto è Null e il campo non è statico.

MissingFieldException viene generata se il campo specificato non viene trovato nei metadati. Questo viene in genere controllato quando Microsoft istruzioni MSIL (Intermediate Language) vengono convertite in codice nativo, non in fase di esecuzione.

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

Si applica a