Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 24485|Odgovoriti: 3

[Vir] C# Enum Simple Permission Design uporablja lastnost FlagsAttribute

[Kopiraj povezavo]
Objavljeno na 22. 04. 2019 14:30:51 | | | |
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

C# enumi uporabljajo funkcijo Flags, kjer je več vrednosti shranjenih v eni enumeracijski spremenljivki
https://www.itsvse.com/thread-4661-1-1.html
(Vir: Architect_Programmer)







Prejšnji:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Naslednji:Podobnosti in razlike med virtualnim in (abstraktnim) abstraktom ter vmesnikom v C#...
Objavljeno na 23. 04. 2019 08:28:32 |
Razpravljajte previdno in skupaj napredujte! - Tor, 23. april 2019, 08:28:32 GMT+0800 (kitajski standardni čas)
Objavljeno na 11. 11. 2019 09:49:58 |
Kako dobim opis za večkratno selekcijo?
 Najemodajalec| Objavljeno na 11. 11. 2019 11:00:19 |
Modro nebo in beli oblaki Objavljeno 11. 11. 2019 ob 09:49
Kako dobim opis za večkratno selekcijo?

Prosimo, glejte spodnji članek

C# Razred razširitve enum tipa enum
https://www.itsvse.com/thread-7286-1-1.html
(Vir: Architect_Programmer)
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com