<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.6.0-preview9.19416.11" />

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