Found it quiet not quite:) interesting so here i go
System.FlagsAttribute
[Flags]
enum StateWithFlags
{
None = 0,
Read = 1,
Write = 2,
Delete = 4
}
enum StateWithNoFlags
{
None = 0,
Read = 1,
Write = 2,
Delete = 4
}
for (int enumValue = 0; enumValue <= 8; enumValue++)
Console.WriteLine("StateWithFlags: " + enumValue.ToString() + " " + ((StateWithFlags)enumValue).ToString());
/*
this returns:(2=1 in case of 3 as 3 is not defined similarly for 5=4+1)
StateWithFlags: 0 None
StateWithFlags: 1 Read
StateWithFlags: 2 Write
StateWithFlags: 3 Read, Write
StateWithFlags: 4 Delete
StateWithFlags: 5 Read, Delete
StateWithFlags: 6 Write, Delete
StateWithFlags: 7 Read, Write, Delete
StateWithFlags: 8 8
*/
for (int enumValue = 0; enumValue <= 4; enumValue++)
Console.WriteLine("StateWithNoFlags: " + enumValue.ToString() + " " + ((StateWithNoFlags)enumValue).ToString());
/*
this returns:
0 None
1 Read
2 Write
3 3
4 Delete
*/
Hope this is self explanatory :)