Я пытаюсь проверить, содержит ли «экземпляр перечисления» более одного флага.
[Flags]
public enum Foo
{
Bar = 1,
Far = 2
}
var multiState = Foo.Bar | Foo.Far;
MoreThanOneFlag(multiState); // True
var singleState = Foo.Bar;
MoreThanOneFlag(singleState); // False
Кроме того, я действительно не хочу использовать что-то вроде следующего:
var state = Foo.Bar | Foo.Far;
Console.WriteLine(state.ToString().Count(x => x == ',') > 0); // True
Заметьте, меня не волнует, какие флаги содержит «экземпляр», я просто хочу знать, их больше одного.
&
илиHasFlag
метод - person Pavel Anikhouski   schedule 29.02.2020bool value = (multiState & (multiState -1)) != 0;
- person zaggler   schedule 29.02.2020