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 odkaz 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í instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným přehledem referencí:
| Formát | Formát sestavení | Description |
|---|---|---|
| A2 | stelem.ref | Nahradí prvek pole v zadaném indexu ref hodnotou (typ 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.Platný index elementu v
arrayje vložen do zásobníku.Hodnota se vloží do zásobníku.
Hodnota, index a odkaz na pole jsou vyneseny ze zásobníku; hodnota je vložena do elementu 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 reprezentované 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 u ověřeného kódu.
stelem.ref Instrukce tak může vyvolat InvalidCastException. Pro jednorozměrná pole, která nejsou založená na nule, a pro multidimenzionální pole třída Array poskytuje metodu SetValue .
NullReferenceException je vyvolán, pokud array je odkaz null.
IndexOutOfRangeException je vyvolán, pokud index je záporná nebo větší než mez hodnoty array.
ArrayTypeMismatchException je vyvolán, pokud array neobsahuje prvky požadovaného typu.
Následující Emit přetížení metody může použít stelem.ref opcode: