OpCodes.Ldelema 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.
Carrega o endereço do elemento da matriz em um índice de matriz especificado no topo da pilha de avaliação como o tipo &
(ponteiro gerenciado).
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 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 |
---|---|---|
8F <T > |
Ldelema class |
Carrega o endereço do elemento de matriz na index parte superior da pilha de avaliação como tipo & (ponteiro gerenciado). |
O comportamento de transição da pilha, em ordem sequencial, é:
Uma referência
array
de objeto é enviada por push para a pilha.Um valor
index
de índice é enviado por push para a pilha.index
earray
são exibidos da pilha; o endereço armazenado na posiçãoindex
emarray
é pesquisado.O endereço é enviado por push para a pilha.
O ldelema
é usado para recuperar o endereço de um objeto em um índice específico em uma matriz de objetos (do tipo class
). A ldelema
instrução carrega o endereço do valor em index index
(tipo native int
) na matriz array
unidimensional baseada em zero e o coloca na parte superior da pilha. Matrizes são objetos e, portanto, representados por um valor do tipo O
. O valor deve ser do tipo class
passado com a instrução .
O valor retornado para ldelema
é um ponteiro gerenciado (tipo &
).
Observe que os valores inteiros de menos de 4 bytes são estendidos para int32
(não native int
) quando são carregados na pilha de avaliação.
NullReferenceException será gerado se array
for uma referência nula.
ArrayTypeMismatchException será gerado se array
não armazenar elementos do tipo necessário.
IndexOutOfRangeException será gerado se index
for negativo ou maior que o limite de array
.
A sobrecarga do método Emit a seguir pode usar o ldelema
opcode: