OpCodes.Stelem_Ref Pole

Definice

Nahradí prvek pole v daném indexu hodnotou ref objektu (typ O) ve zkušebním zásobníku.

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 

Hodnota pole

Poznámky

Následující tabulka uvádí šestnáctkový formát sestavení jazyka MSIL (Intermediate Language) a Microsoft s stručným přehledem referenčních informací:

Formát Formát sestavení Description
A2 stelem.ref Nahradí prvek pole v zadaném indexu ref hodnotou (type O) v zásobníku.

Přechodné chování zásobníku v sekvenčním pořadí je:

  1. Odkaz na objekt na pole arrayje vložen do zásobníku.

  2. Do zásobníku se vloží platný index elementu array .

  3. Do zásobníku se vloží hodnota.

  4. Hodnota, index a odkaz na matici se z zásobníku přepnou; hodnota je vložena do prvku pole v daném indexu.

Instrukce stelem.ref nahradí hodnotu prvku na zadaném indexu v jednorozměrném poli arrayref hodnotou (typ O) vloženou do zásobníku.

Pole jsou objekty, a proto jsou reprezentovány hodnotou typu O. Index je typ native int.

Všimněte si, že stelem.ref implicitně přetypuje zadanou hodnotu na typ array prvku před přiřazením hodnoty k prvku pole. Toto přetypování může selhat, i pro ověřený kód. stelem.ref Instrukce tak může vyvolat InvalidCastException. Pro jednorozměrná pole, která nejsou založená na nule a pro multidimenzionální pole, Array poskytuje třída metodu SetValue .

NullReferenceException je vyvolán, pokud array je odkaz null.

IndexOutOfRangeException je vyvolán, pokud index je záporná nebo větší než hranice array.

ArrayTypeMismatchException je vyvolán, pokud array neobsahuje prvky požadovaného typu.

Emit Následující přetížení metody může použít stelem.ref opcode:

Platí pro