Partager via


OpCodes.Stelem_Ref Champ

Définition

Remplace l'élément de tableau situé à un index donné par la valeur de référence d'objet (type O) dans la pile d'évaluation.

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 

Valeur de champ

Remarques

Le tableau suivant répertorie le format d’assembly MSIL et hexadécimal de l’instruction, ainsi qu’un bref résumé des références :

Format Format d’assembly Description
A2 stelem.ref Remplace un élément de tableau à l’index fourni par la ref valeur (type O) sur la pile.

Le comportement transitoire de la pile, dans l’ordre séquentiel, est le suivant :

  1. Une référence d’objet à un tableau, array, est poussée vers la pile.

  2. Un index valide d’un élément dans array est envoyé sur la pile.

  3. Une valeur est poussée vers la pile.

  4. La valeur, l’index et la référence de tableau sont extraits de la pile ; la valeur est placée dans l’élément de tableau à l’index donné.

L’instruction stelem.ref remplace la valeur de l’élément à l’index fourni dans le tableau array unidimensionnel par la ref valeur (type O) envoyée sur la pile.

Les tableaux sont des objets et sont donc représentés par une valeur de type O. L’index est de type native int.

Notez que stelem.ref caste implicitement la valeur fournie en type d’élément de avant d’affecter array la valeur à l’élément tableau. Ce cast peut échouer, même pour le code vérifié. Ainsi, l’instruction stelem.ref peut lever InvalidCastException. Pour les tableaux unidimensionnels qui ne sont pas de base zéro et pour les tableaux multidimensionnels, la Array classe fournit une SetValue méthode.

NullReferenceException est levée si array est une référence null.

IndexOutOfRangeException est levée si index est négatif ou supérieur à la limite de array.

ArrayTypeMismatchException est levée si array ne contient pas d’éléments du type requis.

La surcharge de méthode suivante Emit peut utiliser l’opcode stelem.ref :

S’applique à