OpCodes.Volatile 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.
Spécifie qu'une adresse actuellement située en haut de la pile d'évaluation peut être volatile et que les résultats de la lecture de cet emplacement ne peuvent pas être mis en cache ou que plusieurs magasins situés à cet emplacement ne peuvent pas être supprimés.
public: static initonly System::Reflection::Emit::OpCode Volatile;
public static readonly System.Reflection.Emit.OpCode Volatile;
staticval mutable Volatile : System.Reflection.Emit.OpCode
Public Shared ReadOnly Volatile 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 |
---|---|---|
FE 13 | Volatile. | Indique que la référence de pointeur suivante est volatile. |
Le comportement transitionnel de la pile, dans l’ordre séquentiel, est le suivant :
- Une adresse est envoyée dans la pile.
volatile
. spécifie que l’adresse est une adresse volatile (c’est-à-dire qu’elle peut être référencée en externe au thread d’exécution actuel) et que les résultats de la lecture de cet emplacement ne peuvent pas être mis en cache ou que plusieurs magasins à cet emplacement ne peuvent pas être supprimés. Le marquage d’un accès comme volatile
affectant uniquement cet accès unique ; les autres accès au même emplacement doivent être marqués séparément. L’accès aux emplacements volatiles n’a pas besoin d’être effectué atomiquement.
Les Unaligned préfixes et volatile
peuvent être combinés dans l’un ou l’autre ordre. Ils doivent immédiatement précéder une ldind
instruction , stind
, ldfld
, ldobj
stfld
, stobj
, initblk
, ou cpblk
. Seul le volatile
préfixe est autorisé pour les Ldsfld instructions et Stsfld .
La surcharge de méthode suivante Emit peut utiliser l’opcode volatile
: