OpCodes.Ldelema Campo

Definição

Carrega o endereço do elemento do array num índice especificado no topo da pilha de avaliação como tipo & (ponteiro gerido).

public: static initonly System::Reflection::Emit::OpCode Ldelema;
public static readonly System.Reflection.Emit.OpCode Ldelema;
 staticval mutable Ldelema : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelema 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 Description
8F <T> Delema class Carrega o endereço do elemento do array no index topo da pilha de avaliação como tipo & (apontador gerido).

O comportamento de transição da pilha, por ordem sequencial, é:

  1. Uma referência array de objeto é empurrada para a pilha.

  2. Um valor index de índice é empurrado para a pilha.

  3. index e array são retirados da pilha; o endereço armazenado na posição index em array é procurado.

  4. O endereço é colocado na pilha.

O ldelema é usado para recuperar o endereço de um objeto num índice particular num array de objetos (do tipo class). A ldelema instrução carrega o endereço do valor no índice index (tipo native int) no array array unidimensional baseado em zero e coloca-o no topo da pilha. Os arrays são objetos e, portanto, representados por um valor de tipo O. O valor deve ser do tipo class passado com a instrução.

O valor de retorno para ldelema é um ponteiro gerido (tipo &).

Note que valores inteiros inferiores a 4 bytes são estendidos para int32 (não native int) quando são carregados na pilha de avaliação.

NullReferenceException é lançado se array for uma referência nula.

ArrayTypeMismatchException é lançado se array não detiver elementos do tipo requerido.

IndexOutOfRangeException é lançado se index for negativo, ou maior do que o limite de array.

O seguinte Emit método de sobrecarga pode usar o ldelema opcode:

Aplica-se a