
Untitled
By: a guest on
May 4th, 2012 | syntax:
None | size: 0.46 KB | hits: 14 | expires: Never
Flags- and non-flags-variant of an enum
enum Color { Red, Blue, Green }
[Flags]
enum Colors {
None = 0,
Red = 1,
Blue = 2,
Green = 4
}
// use cases
Color currentColor;
Colors supportedColors;
Colors currentColor; // ugly, since neither "None" nor "Red | Blue" should be valid
enum Colors = Flag set of Color;
var flags = (Color)47; // why not
bool IsColorValid(Color color)
{
return (color != 0 && (color & (color - 1)) == 0);
}