Partilhar via


OpCodes.Ldobj Campo

Definição

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, é:

  1. O endereço de um objeto de tipo de valor é enviado por push para a pilha.

  2. O endereço é exibido da pilha e a instância nesse endereço específico é pesquisada.

  3. 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:

Aplica-se a