Я знаю, что вы можете использовать FlagsAttribute
, чтобы дать команду компилятору использовать битовые поля для перечисления.
Есть ли способ указать, что значения перечисления не могут быть объединены с побитовым ИЛИ?
Пример:
enum OnlyOneOption
{
Option1,
Option2,
...
}
В этом примере ничто не мешает разработчику писать OnlyOneOption.Option1 | OnlyOneOption.Option2
. Я бы хотел запретить это во время компиляции, если это возможно.