In C# kun je logische bewerkingen uitvoeren op gehele objecten per bit. De betekenis van logische bewerking per bit is dat elk bit van het te bedienen object op zijn beurt wordt genomen, en het logische operatieresultaat van elke bit elk bit van de resultaatwaarde is. De bitlogica-operatoren die door C# worden ondersteund, worden weergegeven in de volgende figuur:
Basisontwerp van toestemmingen:
<summary>
///權限列舉 </summary> [VlaggenAttribuut] publicenumToestemmingen
{ Beschrijving ("Niet geconfigureerd")] Geen=0, [Beschrijving ("Creëren")] Create=1, [Beschrijving("Lees")] Read=2, [Beschrijving ("Update")] Update=4, [Beschrijving("Verwijderen")] Delete=8, [Beschrijving ("Alle Kenmerken")] All=Aanmaken| Lees| Update| Verwijderen
}
Techniek 1: Gebruik de machtwaarde van 2 als opsommingswaarde voor toekomstige bitoperaties (&AND, |OF, ^XOR).
Tip 2: Voeg een nieuwe toestemmingsactie toe aan de bestaande toestemming. (OK-operatie)
Permissionspermission=Permissions.None; toestemming=toestemming| Permissions.Create; MessageBox.Show(toestemming. ToString()); Resultaat:Aanmaken
Tip 3: Voeg de tag [FlagsAttribute] toe
Permissionspermission=Permissions.None; toestemming=toestemming| Permissions.Create; MessageBox.Show(toestemming. ToString()); Resultaat:Aanmaken([FlagsAttribute] beïnvloedt het resultaat niet)
toestemming=toestemming| Toestemmingen.Lezen; MessageBox.Show(toestemming. ToString()); Resultaat: 3 ([FlagsAttribute] niet toegevoegd) Resultaat:Aanmaken,Lees (voeg [FlagsAttribute] toe)
Tip 4: Verwijder een bepaalde toestemmingsactie uit de bestaande toestemming. (XOR en AND computing applicaties)
Permissionspermission=Permissions.None; toestemming=toestemming| Permissions.Create; MessageBox.Show(toestemming. ToString()); Resultaat:Aanmaken
toestemming=toestemming| Toestemmingen.Lezen; toestemming=toestemming| Permissions.Update; MessageBox.Show(toestemming. ToString()); Resultaat: Maken, Lezen, Bijwerken
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(toestemming. ToString()); Resultaat:Aanmaken,Bijwerken
Tip 5: Bepaal of je een bepaalde toestemming hebt voor de huidige toestemming (EN operatie)
Permissionspermission=Permissions.None; toestemming=toestemming| Permissions.Create; MessageBox.Show(toestemming. ToString()); Resultaat:Aanmaken
toestemming=toestemming| Toestemmingen.Lezen; toestemming=toestemming| Permissions.Update; MessageBox.Show(toestemming. ToString()); Resultaat: Maken, Lezen, Bijwerken
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(toestemming. ToString()); Resultaat:Aanmaken,Bijwerken
boolIsCreatable=false; if((permission&Permissions.Create)==Permissions.Create)
{ IsCreatable=waar;
} anders
{ IsCreatable=vals;
} MessageBox.Show(IsCreatable.ToString()); Resultaat: Waar
|