OpCodes.Stelem_Ref Champ

Définition

Remplace l’élément de tableau à un index donné par la valeur ref de l’objet (type O) sur 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 (Hexadécimal et Microsoft Intermediate Language) de l'instruction, ainsi qu'un bref résumé de référence :

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 transitionnel de la pile, dans l’ordre séquentiel, est :

  1. Une référence d’objet à un tableau, arrayest envoyée (push) à la pile.

  2. Un index valide dans un élément est array envoyé (push) sur la pile.

  3. Une valeur est envoyée (push) sur la pile.

  4. La valeur, l’index et la référence de tableau sont extraites 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, par conséquent, représentés par une valeur de type O. L’index est de type native int.

Notez que stelem.ref implicitement convertit la valeur fournie en type d’élément avant array d’affecter la valeur à l’élément de 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 basés sur zéro et pour les tableaux multidimensionnels, la Array classe fournit une SetValue méthode.

NullReferenceException est levée s’il array s’agit d’une référence Null.

IndexOutOfRangeException est levée si index elle est négative ou supérieure à la limite de array.

ArrayTypeMismatchException est levée s’il 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 à