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; }
    }
}

questionAnswers(4)

yourAnswerToTheQuestion