OpCodes.Volatile Поле
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает, что адрес в настоящее время на вершине стека оценки может быть переменным, и результаты чтения этого расположения не могут быть кэшированы или что несколько хранилищ в этом расположении не могут быть отключены.
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
Значение поля
Комментарии
В следующей таблице перечислены шестнадцатеричные и шестнадцатеричные и Microsoft формат сборки промежуточного языка (MSIL) инструкции, а также краткая сводка по ссылке:
| Формат | Формат сборки | Description |
|---|---|---|
| FE 13 | Летучих. | Указывает, что следующая ссылка указателя является переменной. |
Переходное поведение стека в последовательном порядке:
- Адрес передается в стек.
volatile. указывает, что адрес является изменяющимся адресом (т. е. его можно ссылаться внешне на текущий поток выполнения), а результаты чтения этого расположения нельзя кэшировать или что несколько хранилищ в этом расположении не могут быть отключены. Маркировка доступа как volatile влияет только на один доступ; другие доступы к тому же расположению должны быть помечены отдельно. Доступ к изменяющимся расположениям не требуется выполнять атомарным образом.
Префиксы Unaligned и volatile префиксы могут объединяться в любом порядке. Они должны немедленно предшествовать инструкции ldind, stindldfldstfldldobjили stobjinitblkcpblk инструкции.
volatile Только префикс разрешен для инструкций Ldsfld и Stsfld инструкций.
Следующая Emit перегрузка метода может использовать volatile код opcode: