Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 24485|Odpoveď: 3

[Zdroj] C# Enum Simple Permission Design používa vlastnosť FlagsAttribute

[Kopírovať odkaz]
Zverejnené 22. 4. 2019 14:30:51 | | | |
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

C# enumy používajú funkciu Flags, kde je uložených viacero hodnôt v jednej enumeračnej premennej
https://www.itsvse.com/thread-4661-1-1.html
(Zdroj: Architect_Programmer)







Predchádzajúci:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Budúci:Podobnosti a rozdiely medzi virtuálnym a (abstraktným) abstraktom a rozhraním v C#...
Zverejnené 23. 4. 2019 8:28:32 |
Diskutujte dôkladne a spoločne sa zlepšovajte! - Ut 23. apríla 2019 08:28:32 GMT+0800 (čínsky štandardný čas)
Zverejnené 11. 11. 2019 9:49:58 |
Ako získam popis pre viacnásobné výberové vyčíslenie?
 Prenajímateľ| Zverejnené 11. 11. 2019 11:00:19 |
Modrá obloha a biele oblaky Zverejnené 11.11.2019 09:49
Ako získam popis pre viacnásobné výberové vyčíslenie?

Prosím, pozrite si článok nižšie

C# Trieda rozšírenia operácie typu enum enum
https://www.itsvse.com/thread-7286-1-1.html
(Zdroj: Architect_Programmer)
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com