В .Net они определяются enum
с использованием FlagsAttribute:
[Flags()]
public enum Foo
{
Bit1 = 1,
Bit2 = 2,
Bit4 = 4,
Bit8 = 8,
etc.
}
// Or define using explicit binary syntax
[Flags()]
public enum Foo
{
Bit1 = 0b_0000_0001,
Bit2 = 0b_0000_0010,
Bit4 = 0b_0000_0100,
Bit8 = 0b_0000_,
etc.
}
И для использования:
SomeFunction(Foo.Bit1 | Foo.Bit4 | etc);
Я бы предложил, чтобы ваше текущее имя ( Flags ) представляется наиболее подходящим определением, по крайней мере, в этом контексте.