OpCodes.Ldobj 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.
Copia o objeto de tipo de valor apontado por um endereço na parte superior 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 do campo
Comentários
A tabela a seguir lista o formato de assembly hexadecimal e MSIL (Microsoft Intermediate Language) da instrução, juntamente com um breve resumo de referência:
Formatar | Formato de assembly | Descrição |
---|---|---|
71 <T > |
ldobj class |
Copie a instância do tipo class de valor para a pilha. |
O comportamento de transição da pilha, em ordem sequencial, é:
O endereço de um objeto de tipo de valor é enviado por push para a pilha.
O endereço é exibido da pilha e a instância nesse endereço específico é pesquisada.
O valor do objeto armazenado nesse endereço é enviado por push para a pilha.
A ldobj
instrução é usada para passar um tipo de valor como um parâmetro.
A ldobj
instrução copia o valor apontado por addrOfValObj
(do tipo &
, *
ou native int
) para a parte superior 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.
A operação da ldobj
instrução pode ser alterada por uma instrução Volatile de prefixo ou Unaligned imediatamente anterior.
TypeLoadException será gerado se a classe não puder ser encontrada. Normalmente, isso é detectado quando a instrução MSIL (Microsoft Intermediate Language) é convertida em código nativo em vez de em runtime.
Emit A seguinte sobrecarga de método pode usar o ldobj
opcode: