Я использую перечисление с атрибутом flags для отслеживания статуса.
Примером является следующее:
Created = 1
Completed = 2
Dispatched = 4
Без написания чего-либо слишком жесткого (если проверить это, сделать это, если проверить это, сделать это), я хочу быть в состоянии найти самый высокий флаг, который был установлен так в этом примере:
Item.Status = Status.Created | Status.Completed
мифический метод вернет 2 - завершен флаг, установленный с самым высоким значением.
GetMaxSetFlagValue(Item.Status) // returns 2
Я нашел вопросы, которые касались фактического перечисления, но не значения, использующего флаги. Я вполне уверен, что это может быть достигнуто с Linq ...?