OpCodes.Ldfld Campo
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Localiza 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 do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e Microsoft linguagem intermediária (MSIL) da instrução, juntamente com um breve resumo de referência:
| Formato | Formato de assembly | Description |
|---|---|---|
7B <T> |
ldfld field |
Envia o valor de um campo em um objeto especificado para a pilha. |
O comportamento de transição da pilha, em ordem sequencial, é:
Uma referência de objeto (ou ponteiro) é enviada por push para a pilha.
A referência do objeto (ou ponteiro) é exibida da pilha; o valor do campo especificado no objeto é encontrado.
O valor armazenado no campo é enviado por push para a pilha.
A ldfld instrução envia o valor de um campo localizado em um objeto para a pilha. O objeto deve estar na pilha como uma referência de objeto (tipo O), um ponteiro gerenciado (tipo &), um ponteiro não gerenciado (tipo native int), um ponteiro transitório (tipo *) ou uma instância de um tipo de valor. O uso de um ponteiro não gerenciado não é permitido no código verificável. O campo do objeto é especificado por um token de metadados que deve se referir a um membro de campo. O tipo de retorno é o mesmo que o associado ao campo. O campo pode ser um campo de instância (nesse caso, o objeto não deve ser uma referência nula) ou um campo estático.
A ldfld instrução pode ser precedida por ambos ou por Unaligned prefixos.Volatile
NullReferenceException será gerado se o objeto for nulo e o campo não for estático.
MissingFieldException será gerado se o campo especificado não for encontrado nos metadados. Normalmente, isso é verificado quando Microsoft instruções msil (linguagem intermediária) são convertidas em código nativo, não em tempo de execução.
A sobrecarga do método Emit a seguir pode usar o ldfld opcode: