OpCodes.Ldobj 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.
Copia o tipo de valor objeto apontado por um endereço para o topo da pilha de avaliação.
public: static initonly System::Reflection::Emit::OpCode Ldobj;
public static readonly System.Reflection.Emit.OpCode Ldobj;
staticval mutable Ldobj : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldobj 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 |
|---|---|---|
71 <T> |
ldobj class |
Copiar a instância do tipo class de valor para a pilha. |
O comportamento de transição da pilha, por ordem sequencial, é:
O endereço de um objeto do tipo valor é empurrado para a pilha.
O endereço é extraído da pilha e a instância nesse endereço específico é consultada.
O valor do objeto armazenado nesse endereço é empurrado para a pilha.
A ldobj instrução é usada para passar um tipo de valor como parâmetro.
A ldobj instrução copia o valor apontado por addrOfValObj (de tipo &, *, ou native int) para o topo da pilha. O número de bytes copiados depende do tamanho da classe (conforme especificado pelo class parâmetro). O class parâmetro é um token de metadados que representa o tipo de valor.
O funcionamento da ldobj instrução pode ser alterado por uma instrução imediatamente Volatile anterior ou Unaligned prefixo.
TypeLoadException é lançado se a classe não for encontrada. Isto é tipicamente detetado quando a instrução Microsoft Intermediate Language (MSIL) é convertida para código nativo em vez de em tempo de execução.
O seguinte Emit método de sobrecarga pode usar o ldobj opcode: