public static void Main()
Console.WriteLine("A and B:" + v);
Console.WriteLine("Added C : " + v);
Console.WriteLine("Removed B:" + v);
Console.WriteLine("Has A ? {0} {1}", ((v & E.A) == E.A), v.HasFlag(E.A));
Console.WriteLine("Has B ? " + ((v & E.B) == E.B));
Console.WriteLine("Has C ? " + ((v & E.C) == E.C));
EnumTest et = new EnumTest();
public E E { get { return _e; } }
public bool A { get { return _e.HasFlag(E.A); } set { _e = _e | E.A; } }
public bool B { get { return _e.HasFlag(E.B); } set { _e = _e | E.B; } }
public bool C { get { return _e.HasFlag(E.C); } set { _e = _e | E.C; } }
public bool D { get { return _e.HasFlag(E.D); } set { _e = _e | E.D; } }