SafeBitVector32
struct SafeBitVector32
using System.Threading;
namespace System.Configuration
{
internal struct SafeBitVector32
{
private volatile int _data;
internal bool this[int bit] {
get {
int data = _data;
return (data & bit) == bit;
}
set {
int data;
int num;
do {
data = _data;
int value2 = (!value) ? (data & ~bit) : (data | bit);
num = Interlocked.CompareExchange(ref _data, value2, data);
} while (num != data);
}
}
internal SafeBitVector32(int data)
{
_data = data;
}
}
}