Itens de matriz volátil C #?
Eu preciso de uma matriz com itens voláteis e não consigo encontrar uma maneira de fazer isso.
private volatile T[] _arr;
Isso significa que a referência _arr é volátil, no entanto, não garante nada sobre os itens dentro do próprio objeto _arr.
Existe alguma maneira de marcar os itens do _arr como voláteis?
Obrigado.
EDITAR:
O código a seguir foi construído de acordo com a resposta do binarycoder. Este código é seguro para usar?
public class VolatileArray<T>
{
private T[] _arr;
public VolatileArray(int length)
{
_arr = new T[length];
}
public VolatileArray(T[] arr)
{
_arr = arr;
}
public T this[int index]
{
get
{
T value = _arr[index];
Thread.MemoryBarrier();
return value;
}
set
{
Thread.MemoryBarrier();
_arr[index] = value;
}
}
public int Length
{
get { return _arr.Length; }
}
}