Я также работаю над Enum
методами расширения.
Я пытался создать общие / добавленные методы для Enum
s, но я нашел это излишним.
Чтобы добавить вы можете просто сделать:
MyFlags flags = MyFlags.Pepsi;
flags |= MyFlags.Coke;
Для удаления вы можете сделать:
MyFlags flags = MyFlags.Pepsi | MyFlags.Coke;
flags &= ~MyFlags.Coke;
Не используйте XOR (^) , он добавляет флаг, если он не существует.
flags ^= MyFlags.Coke; // Do not use!!!
Надеюсь, это помогло. Вы можете увидеть больше методов расширения: Мой блог