Что такое эквивалент ключевого слова VB.NET С# "volatile"?
Если нет ключевого слова, какой механизм является эквивалентом?
Ответ 1
В VB.NET нет эквивалентного ключевому слову С#. Волатильность на С# просто гарантирует, что компилятор обрабатывает вещи по-разному при генерации IL, но компилятор VB.NET не имеет этой опции.
Function VolatileRead(Of T)(ByRef Address As T) As T
VolatileRead = Address
Threading.Thread.MemoryBarrier()
End Function
Sub VolatileWrite(Of T)(ByRef Address As T, ByVal Value As T)
Threading.Thread.MemoryBarrier()
Address = Value
End Sub
Ответ 2
Используйте методы Thread.VolatileRead() и VolatileWrite() из BCL.