Enum Flags
Contexte : Appliquez l’attribut [Flags] à une énumération pour indiquer que ses membres peuvent être combinés à l’aide d’opérations bit à bit.
[Flags]public enum Permissions{ None = 0, Read = 1, Write = 2, Execute = 4, ReadWrite = Read | Write}Utilisation
Section intitulée « Utilisation »Permissions perms = Permissions.Read | Permissions.Write;Console.WriteLine(perms.HasFlag(Permissions.Read)); // TrueConsole.WriteLine(perms); // Read, Write
// Opérations bit à bitperms |= Permissions.Execute; // ajouter un flagperms &= ~Permissions.Write; // supprimer un flagExemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Autorisations d’accès aux fichiers : Utilisez une énumération [Flags] pour FileAccess (Read, Write, ReadWrite) et FileShare (None, Read, Write, ReadWrite, Delete).
Exemple : Dans .NET, FileAccess et FileShare sont des énumérations Flags. Également RegexOptions.