Посмотрел, как перечисления могут использоваться как битовые флаги, украшая их атрибутами flags и операторами bitwize (см. ниже).
Есть ли в .NET Framework какие-либо места, в которых используется этот шаблон? Мне это нравится, но я хочу увидеть некоторые примеры реальной жизни.
[Flags]
enum Days2 : int
{
None = 0x0,
Sunday = 0x1,
Monday = 0x2,
Tuesday = 0x4,
Wednesday = 0x8,
Thursday = 0x10,
Friday = 0x20,
Saturday = 0x40
}
Days2 meetingDays = Days2.Tuesday | Days2.Thursday;
// Set an additional flag using bitwise OR.
meetingDays = meetingDays | Days2.Friday;
Console.WriteLine("Meeting days are {0}", meetingDays);