Udostępnij za pośrednictwem


OpCodes.Stelem_Ref Pole

Definicja

Zamienia element tablicy w danym indeksie na wartość ref obiektu (typ O) na stosie oceny.

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

Wartość pola

Uwagi

W poniższej tabeli wymieniono format zestawu szesnastkowy instrukcji i microsoft intermediate language (MSIL) wraz z krótkim podsumowaniem referencyjnym:

Format Format zestawu Opis
A2 stelem.ref Zamienia element tablicy w podanym indeksie na ref wartość (typ O) na stosie.

Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:

  1. Odwołanie do obiektu do tablicy array, jest wypychane do stosu.

  2. Prawidłowy indeks do elementu w array obiekcie jest wypychany do stosu.

  3. Wartość jest wypychana do stosu.

  4. Wartość, indeks i odwołanie do tablicy są wyskoczone ze stosu; wartość jest umieszczana w elemecie tablicy w danym indeksie.

Instrukcja stelem.ref zastępuje wartość elementu w podanym indeksie w tablicy array jednowymiarowej wartością ref (type O) wypchniętą do stosu.

Tablice są obiektami, dlatego reprezentowane przez wartość typu O. Indeks jest typem native int.

Należy zauważyć, że stelem.ref niejawnie rzutuje podaną wartość na typ array elementu przed przypisanie wartości do elementu tablicy. Rzutowanie może zakończyć się niepowodzeniem, nawet w przypadku zweryfikowanego kodu. W związku z tym stelem.ref instrukcja może zgłosić .InvalidCastException W przypadku tablic jednowymiarowych, które nie są oparte na zerach i w przypadku tablic wielowymiarowych, Array klasa udostępnia metodę SetValue .

NullReferenceException parametr jest zgłaszany, jeśli array jest odwołaniem o wartości null.

IndexOutOfRangeExceptionparametr jest zgłaszany, jeśli index wartość jest ujemna lub większa niż granica .array

ArrayTypeMismatchException jest zgłaszany, jeśli array nie zawiera elementów wymaganego typu.

Emit Następujące przeciążenie metody może używać stelem.ref kodu opcode:

Dotyczy