OpCodes.Stelem_Ref Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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:
Odkaz na objekt na pole
arrayje vložen do zásobníku.Do zásobníku se vloží platný index elementu
array.Do zásobníku se vloží hodnota.
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: