V C# lahko izvajate logične operacije na celoštevilskih objektih po bitih. Pomen logične operacije z bitom je, da se vsak bit objekta, ki ga želimo upravljati, vzame zaporedom, in logični rezultat vsake bitne operacije je vsak bit vrednosti. Bitni logični operatorji, ki jih podpira C#, so prikazani na naslednji sliki:
Osnovna zasnova dovoljenj:
<summary>
///權限列舉 </summary> [Atribut zastav] publicenumDovoljenja
{ Opis("Ni konfigurirano")] Nič=0, [Opis ("Ustvari")] Create=1, [Opis ("Prebrano")] Read=2, [Opis ("Posodobitev")] Posodobitev=4, [Opis ("Izbriši")] Delete=8, [Opis ("Vse značilnosti")] Vse=Ustvari| Preberi| Posodobitev| Izbriši
}
Tehnika 1: Uporabite vrednost moči 2 kot enumeracijsko vrednost za prihodnje bitne operacije (&AND, |ALI, ^XOR).
Nasvet 2: Dodajte novo dejanje dovoljenja k obstoječemu dovoljenju. (Operacija operacijske dvorane)
Permissionspermission=Permissions.None; dovoljenje=dovoljenje| Permissions.Create; MessageBox.Show(dovoljenje. ToString()); Rezultat: Ustvari
Nasvet 3: Dodaj oznako [FlagsAttribute]
Permissionspermission=Permissions.None; dovoljenje=dovoljenje| Permissions.Create; MessageBox.Show(dovoljenje. ToString()); Rezultat:Create([FlagsAttribute] ne vpliva na rezultat)
dovoljenje=dovoljenje| Permissions.Read; MessageBox.Show(dovoljenje. ToString()); Rezultat: 3 ([FlagsAttribute] ni dodan) Rezultat:Ustvari, Preberi (dodaj [FlagsAttribute])
Nasvet 4: Odstranite določeno dejanje dovoljenja iz obstoječega dovoljenja. (Računalniške aplikacije XOR in AND)
Permissionspermission=Permissions.None; dovoljenje=dovoljenje| Permissions.Create; MessageBox.Show(dovoljenje. ToString()); Rezultat: Ustvari
dovoljenje=dovoljenje| Permissions.Read; dovoljenje=dovoljenje| Permissions.Update; MessageBox.Show(dovoljenje. ToString()); Rezultat:Ustvari, Preberi,Posodobi
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(dovoljenje. ToString()); Rezultat:Ustvari, Posodobi
Nasvet 5: Ugotovite, ali imate določeno dovoljenje v trenutnem dovoljenju (IN operaciji)
Permissionspermission=Permissions.None; dovoljenje=dovoljenje| Permissions.Create; MessageBox.Show(dovoljenje. ToString()); Rezultat: Ustvari
dovoljenje=dovoljenje| Permissions.Read; dovoljenje=dovoljenje| Permissions.Update; MessageBox.Show(dovoljenje. ToString()); Rezultat:Ustvari, Preberi,Posodobi
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(dovoljenje. ToString()); Rezultat:Ustvari, Posodobi
boolIsCreatable=false; if((permission&Permissions.Create)==Permissions.Create)
{ IsCreatable=true;
} else
{ IsCreatable=false;
} MessageBox.Show(IsCreateatable.ToString()); Rezultat: Resnično
|