OpCodes.Stelem_Ref Veld

Definitie

Vervangt het matrixelement in een bepaalde index door de objectverwwaarde (type O) op de evaluatiestack.

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 

Waarde van veld

Opmerkingen

De volgende tabel bevat de hexadecimale en Microsoft MSIL-assembly-indeling (Tussenliggende taal), samen met een beknopt overzicht:

Format Assembly-indeling Description
A2 stelem.ref Vervangt een matrixelement in de opgegeven index door de ref waarde (type O) op de stack.

Het overgangsgedrag van de stack, in opeenvolgende volgorde, is:

  1. Een objectverwijzing naar een matrix, arraywordt naar de stapel gepusht.

  2. Er wordt een geldige index naar een element array in de stapel gepusht.

  3. Een waarde wordt naar de stapel gepusht.

  4. De waarde, de index en de matrixreferentie worden uit de stack gepopt; de waarde wordt in het matrixelement op de opgegeven index geplaatst.

De stelem.ref instructie vervangt de waarde van het element op de opgegeven index in de eendimensionale matrix array door de ref (type O) waarde die naar de stapel wordt gepusht.

Matrices zijn objecten en dus vertegenwoordigd door een waarde van het type O. De index is type native int.

Houd er rekening mee dat stelem.ref de opgegeven waarde impliciet wordt omgezet in het elementtype van array voordat de waarde wordt toegewezen aan het matrixelement. Deze cast kan mislukken, zelfs voor geverifieerde code. Dus de stelem.ref instructie kan gooien InvalidCastException. Voor eendimensionale matrices die niet op nul zijn gebaseerd en voor multidimensionale matrices, biedt de Array klasse een SetValue methode.

NullReferenceException wordt gegenereerd als array dit een null-verwijzing is.

IndexOutOfRangeException wordt gegenereerd als index negatief of groter is dan de grens van array.

ArrayTypeMismatchException wordt gegenereerd als array er geen elementen van het vereiste type zijn.

De volgende Emit overbelasting van de methode kan de stelem.ref opcode gebruiken:

Van toepassing op