Considérons le code suivant représentant une énumération des jours de la semaine :
Public Enum Days
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
End Enum
Avec cette énumération on peut facilement changer la valeur d’une variable en faisant ceci :
Dim myDay as Integer = Days.Sunday
Mais qu’en est-il si nous devions spécifier plusieurs jours ou tous les jours. Pour ce faire nous devons rendre notre énumération Bit-Wise en y ajoutant l’attribut <Flags()> et en donnant une valeur à la puissance 2 à tous les éléments :
<Flags()> _
Public Enum Days
Sunday = 1
Monday = 2
Tuesday = 4
Wednesday = 8
Thursday = 16
Friday = 32
Saturday = 64
All = Sunday Or Monday Or Tuesday Or Wednesday Or Thursday Or Friday Or Saturday
End Enum
Remarquez que j’ai ajouté “All” permettant de spécifier tous les jours.
Avec cette énumération il est désormais possible de faire :
Dim myDays as Days
myDays = myDays Or Sunday Or Friday ' Ajoute le Dimanche et le Vendredi
myDays = myDays And Not Saturday ' Enlève le Samedi
Pour savoir si le Dimanche a été choisi il faut faire ceci :
If (myDays And Days.Sunday) = Days.Sunday Then
' mon code du Dimanche
End If