OpCodes.Stelem_Ref Champ
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 :
Une référence d’objet à un tableau,
array
, est poussée vers la pile.Un index valide d’un élément dans
array
est envoyé sur la pile.Une valeur est poussée vers la pile.
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
: