J'ai besoin d'un tableau avec des éléments volatiles, et je ne trouve pas le moyen de le faire.C# éléments de tableau volatils?
private volatile T[] _arr;
Cela signifie que la référence _arr est volatile, mais il ne garantit rien sur les éléments dans l'objet _arr lui-même.
Y at-il un moyen de marquer les éléments de _arr comme volatils?
Merci.
EDIT:
Le code suivant construit selon la réponse de binarycoder. Ce code est-il compatible avec les threads?
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; }
}
}
Cette question a besoin de plus d'amour. –