V C# môžete vykonávať logické operácie na celočíselných objektoch podľa bitov. Význam logickej operácie podľa bitu je, že každý bit objektu, ktorý sa má operovať, sa berie postupne a výsledok logickej operácie každého bitu je každý bit výslednej hodnoty. Bitové logické operátory podporované C# sú znázornené na nasledujúcom obrázku:
Základný návrh povolení:
<summary>
///權限列舉 </summary> [FlagsAttribute] publicenumPovolenia
{ Popis("Nekonfigurované")] Žiadne=0, [Popis ("Create")] Create=1, [Popis ("Read")] Read=2, [Popis ("Aktualizácia")] Aktualizácia=4, [Popis("Vymazať")] delete=8, [Popis ("All Features")] Všetko=Vytvoriť| Read| Aktualizácia| Vymazať
}
Technika 1: Použite silovú hodnotu 2 ako enumeračnú hodnotu pre budúce bitové operácie (&AND, |OR, ^XOR).
Tip 2: Pridajte novú akciu oprávnenia k existujúcemu oprávneniu. (operačná operácia operačnej sály)
Permissionspermission=Permissions.None; povolenie=povolenie| Permissions.Create; MessageBox.Show(povolenie. ToString()); Výsledok: Vytvoriť
Tip 3: Pridajte tag [FlagsAttribute]
Permissionspermission=Permissions.None; povolenie=povolenie| Permissions.Create; MessageBox.Show(povolenie. ToString()); Výsledok:Create([FlagsAttribute] neovplyvňuje výsledok)
povolenie=povolenie| Permissions.Read; MessageBox.Show(povolenie. ToString()); Výsledok: 3 ([FlagsAttribute] nepridaný) Výsledok:Vytvoriť, Prečítať (pridať [FlagsAttribute])
Tip 4: Odstráňte určitú akciu oprávnenia z existujúceho povolenia. (XOR a AND výpočtové aplikácie)
Permissionspermission=Permissions.None; povolenie=povolenie| Permissions.Create; MessageBox.Show(povolenie. ToString()); Výsledok: Vytvoriť
povolenie=povolenie| Permissions.Read; povolenie=povolenie| Permissions.Update; MessageBox.Show(povolenie. ToString()); Výsledok:Vytvoriť,Čítať,Aktualizovať
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(povolenie. ToString()); Výsledok:Vytvoriť,Aktualizovať
Tip 5: Zistite, či máte určité povolenie v aktuálnom oprávnení (AJ v prevádzke)
Permissionspermission=Permissions.None; povolenie=povolenie| Permissions.Create; MessageBox.Show(povolenie. ToString()); Výsledok: Vytvoriť
povolenie=povolenie| Permissions.Read; povolenie=povolenie| Permissions.Update; MessageBox.Show(povolenie. ToString()); Výsledok:Vytvoriť,Čítať,Aktualizovať
permission=(permission&(Permissions.All^Permissions.Read)); MessageBox.Show(povolenie. ToString()); Výsledok:Vytvoriť,Aktualizovať
boolIsCreatable=false; if((permission&Permissions.Create)==Permissions.Create)
{ IsCreatable=true;
} else
{ IsCreateatable=false;
} MessageBox.Show(IsCreateatable.ToString()); Výsledok: Pravda
|