Condividi tramite


OpCodes.Ldelem_Ref Campo

Definizione

Carica l'elemento contenente un riferimento a un oggetto in corrispondenza dell'indice di matrice specificato all'inizio dello stack di valutazione come tipo O (riferimento a un oggetto).

public: static initonly System::Reflection::Emit::OpCode Ldelem_Ref;
public static readonly System.Reflection.Emit.OpCode Ldelem_Ref;
 staticval mutable Ldelem_Ref : System.Reflection.Emit.OpCode
Public Shared ReadOnly Ldelem_Ref As OpCode 

Valore del campo

Commenti

La tabella seguente elenca il formato di assembly Esadecimale e MSIL (Microsoft Intermediate Language), insieme a un breve riepilogo dei riferimenti:

Formato Formato assembly Descrizione
9A ldelem.ref Carica l'elemento con un riferimento all'oggetto nella index parte superiore dello stack come tipo O.

Il comportamento di transizione dello stack, in ordine sequenziale, è:

  1. Viene eseguito il push di un riferimento array a un oggetto nello stack.

  2. Viene eseguito il push di un valore index di indice nello stack.

  3. index e array vengono estratte dallo stack. Il valore archiviato nella posizione index in array viene cercato.

  4. Il valore viene inserito nello stack.

L'istruzione ldelem.ref carica il valore dell'elemento con indice index (tipo native int) nella matrice array unidimensionale in base zero e lo inserisce nella parte superiore dello stack. Le matrici sono oggetti e quindi rappresentati da un valore di tipo O.

Il valore restituito per ldelem.ref è di tipo O (riferimento all'oggetto).

NullReferenceException viene generata se array è un riferimento Null.

ArrayTypeMismatchException viene generata se array non contiene elementi del tipo richiesto.

IndexOutOfRangeException viene generata se index è negativo o maggiore del limite di array.

L'overload del metodo seguente Emit può usare il ldelem.ref codice operativo:

Si applica a