En C#, vous pouvez effectuer des opérations logiques sur des objets entiers par bit. La signification de l’opération logique par bit est que chaque bit de l’objet à opérer est pris à son tour, et le résultat logique de chaque bit correspond à chaque bit de la valeur du résultat. Les opérateurs de logique binaire supportés par C# sont présentés dans la figure suivante :
Conception de base des autorisations :
<summary>
///權限列舉 </summary> [DrapeauxAttribut] publicenumPermissions
{ Description (« Non configuré »)] Aucun=0, [Description (« Créer »)] Créer=1, [Description (« Lu »)] Lecture=2, [Description (« Mise à jour »)] Mise à jour=4, [Description (« Supprimer »)] Supprimer = 8, [Description (« Toutes les fonctionnalités »)] Tous=Créer| Read| Mise à jour| Supprimer
}
Technique 1 : Utiliser la valeur de puissance de 2 comme valeur d’énumération pour les opérations futures sur les bits (&ET, |OU, ^XOR).
Conseil 2 : Ajoutez une nouvelle action d’autorisation à l’autorisation existante. (Opération BLOC)
permissionspermission=Permissions.None ; permission=permission| Permissions.Create ; MessageBox.Show(permission. ToString()) ; Résultat : Créer
Conseil 3 : Ajoutez le tag [FlagsAttribute]
permissionspermission=Permissions.None ; permission=permission| Permissions.Create ; MessageBox.Show(permission. ToString()) ; Résult :Create([FlagsAttribute] n’affecte pas le résultat)
permission=permission| Permissions.Lire ; MessageBox.Show(permission. ToString()) ; Résultat : 3 ([FlagsAttribute] non ajouté) Résultat : Créer, lire (ajouter [FlagsAttribute])
Conseil 4 : Supprimez une certaine action d’autorisation de l’autorisation existante. (Applications informatiques XOR et AND)
permissionspermission=Permissions.None ; permission=permission| Permissions.Create ; MessageBox.Show(permission. ToString()) ; Résultat : Créer
permission=permission| Permissions.Lire ; permission=permission| Permissions.Mise à jour ; MessageBox.Show(permission. ToString()) ; Résultat : Créer, lire, mettre à jour
permission=(permission&(Permissions.All^Permissions.Read)) ; MessageBox.Show(permission. ToString()) ; Résultat : Créer, Mettre à jour
Conseil 5 : Déterminez si vous avez une certaine autorisation dans l’opération actuelle (ET de permission)
permissionspermission=Permissions.None ; permission=permission| Permissions.Create ; MessageBox.Show(permission. ToString()) ; Résultat : Créer
permission=permission| Permissions.Lire ; permission=permission| Permissions.Mise à jour ; MessageBox.Show(permission. ToString()) ; Résultat : Créer, lire, mettre à jour
permission=(permission&(Permissions.All^Permissions.Read)) ; MessageBox.Show(permission. ToString()) ; Résultat : Créer, Mettre à jour
boolIsCreatable=faux ; if((permission&Permissions.Create)==Permissions.Create)
{ IsCréable=vrai ;
} sinon
{ IsCréable=faux ;
} MessageBox.Show(IsCreatable.ToString()) ; Résultat : Vrai
|