OpCodes.Ldfld Campo
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Encontra o valor de um campo no objeto cuja referência está atualmente na pilha de avaliação.
public: static initonly System::Reflection::Emit::OpCode Ldfld;
public static readonly System.Reflection.Emit.OpCode Ldfld;
staticval mutable Ldfld : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldfld As OpCode
Valor de Campo
Observações
A tabela seguinte lista o formato hexadecimal e assembly da Microsoft Intermediate Language (MSIL) da instrução, juntamente com um breve resumo de referência:
| Formato | Formato de Montagem | Descrição |
|---|---|---|
7B <T> |
LDFLD field |
Empurra o valor de um campo num objeto especificado para a pilha. |
O comportamento de transição da pilha, por ordem sequencial, é:
Uma referência de objeto (ou apontador) é empurrada para a pilha.
A referência do objeto (ou apontador) é retirada da pilha; O valor do campo especificado no objeto é encontrado.
O valor armazenado no campo é empurrado para a pilha.
A ldfld instrução empurra o valor de um campo localizado num objeto para a pilha. O objeto deve estar na pilha como referência de objeto (tipo O), ponteiro gerido (tipo &), ponteiro não gerido (tipo native int), ponteiro transitório (tipo *), ou uma instância de um tipo de valor. O uso de um ponteiro não gerido não é permitido em código verificável. O campo do objeto é especificado por um token de metadados que deve referir-se a um membro do campo. O tipo de retorno é o mesmo associado ao campo. O campo pode ser um campo de instância (caso em que o objeto não deve ser uma referência nula) ou um campo estático.
A ldfld instrução pode ser precedida por um ou ambos os Unaligned prefixos de e.Volatile
NullReferenceException é lançado se o objeto for nulo e o campo não for estático.
MissingFieldException é lançado se o campo especificado não for encontrado nos metadados. Isto é normalmente verificado quando instruções da Microsoft Intermediate Language (MSIL) são convertidas para código nativo, e não em tempo de execução.
O seguinte Emit método de sobrecarga pode usar o ldfld opcode: