OpCodes.Stelem_Ref Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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:
Odwołanie do obiektu do tablicy
array
, jest wypychane do stosu.Prawidłowy indeks do elementu w
array
obiekcie jest wypychany do stosu.Wartość jest wypychana do stosu.
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: