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 à 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 :
Une référence d’objet à un tableau,
arrayest envoyée (push) à la pile.Un index valide dans un élément est
arrayenvoyé (push) sur la pile.Une valeur est envoyée (push) sur la pile.
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 :