Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 24485|Válasz: 3

[Forrás] C# Enum Simple Permission Design a FlagsAttribute tulajdonságot használja

[Linket másol]
Közzétéve 2019. 04. 22. 14:30:51 | | | |
C#-ban logikai műveleteket végezhetsz egész számú objektumokon bitként. A logikai művelet bitként jelentése, hogy a működtetendő objektum minden bitjét sorban veszik, és minden bit logikai műveleti eredménye az eredmény értékének minden bitje. A C# által támogatott bitlogikai operátorokat az alábbi ábrán mutatják:



Alapvető engedélytervezés:

<summary>
///權限列舉
</summary>
[FlagsAttribute]
publicenumPermissions
{
Leírás ("Nem konfigurálva")]
Nincs=0,
[Leírás("Teremts")]
Create=1,
[Leírás ("Olvasás")]
Olvass=2,
[Leírás("Frissítés")]
Frissítés=4,
[Leírás("Törlés")]
Delete=8,
[Leírás ("Minden funkció")]
Mind=Teremts| Olvasd| Frissítés| Törlés
}



1. technika: Használjuk a 2 hatványértékét a jövőbeli bitműveletekhez (&AND, |OR, ^XOR) felsorolási értékként.


2. tipp: Adj hozzá egy új engedély műveletet a meglévő jogosultsághoz. (OR művelet)

Permissionspermission=Permissions.None;
engedély=engedély| Permissions.Create;
MessageBox.Show(engedély. ToString());
Eredmény: Létrehozz

3. tipp: Add hozzá a [FlagsAttribute] címkét

Permissionspermission=Permissions.None;
engedély=engedély| Permissions.Create;
MessageBox.Show(engedély. ToString());
Eredmény:Create([FlagsAttribute] nem befolyásolja az eredményt)

engedély=engedély| Engedélyek.Olvasás;
MessageBox.Show(engedély. ToString());
Eredmény: 3 ([FlagsAttribute] nem került hozzá)
Eredmény:Create,Read (add hozzá [FlagsAttribute])


4. tipp: Távolíts el egy bizonyos engedély műveletet a meglévő engedélyből. (XOR és AND számítástechnikai alkalmazások)

Permissionspermission=Permissions.None;
engedély=engedély| Permissions.Create;
MessageBox.Show(engedély. ToString());
Eredmény: Létrehozz

engedély=engedély| Engedélyek.Olvasás;
engedély=engedély| Permissions.Update;
MessageBox.Show(engedély. ToString());
Eredmény: Létrehozni, Olvasni, Frissíteni

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(engedély. ToString());
Eredmény: Létrehozni, frissíteni


5. tipp: Határozd meg, hogy van-e egy bizonyos engedélyed a jelenlegi engedélyben (ÉS működésben)

Permissionspermission=Permissions.None;
engedély=engedély| Permissions.Create;
MessageBox.Show(engedély. ToString());
Eredmény: Létrehozz

engedély=engedély| Engedélyek.Olvasás;
engedély=engedély| Permissions.Update;
MessageBox.Show(engedély. ToString());
Eredmény: Létrehozni, Olvasni, Frissíteni

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(engedély. ToString());
Eredmény: Létrehozni, frissíteni

boolIsCreatable=hamis;
if((permission&Permissions.Create)==Permissions.Create)
{
IsCreatable=true;
}
más
{
IsCreatable=hamis;
}
MessageBox.Show(IsCreatable.ToString());
Eredmény: Igaz

A C# enumok a Flags funkciót használják, ahol több értéket tárolnak egy felsorolási változóban
https://www.itsvse.com/thread-4661-1-1.html
(Forrás: Architect_Programmer)







Előző:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Következő:A virtuális és (absztrakt) absztrakt és interfész közötti hasonlóságok és különbségek C#...
Közzétéve 2019. 04. 23. 8:28:32 |
Beszéljetek meg alaposan és fejlődjetek együtt! - 2019. április 23., kedd, 08:28:32 GMT+0800 (kínai szabványidő)
Közzétéve 2019. 11. 11. 9:49:58 |
Hogyan kaphatok leírást egy többszörös kiválasztó felsoroláshoz?
 Háziúr| Közzétéve 2019. 11. 11. 11:00:19 |
Blue Sky and White Clouds Közzétéve: 2019-11-11 09:49
Hogyan kaphatok leírást egy többszörös kiválasztó felsoroláshoz?

Kérjük, tekintse meg az alábbi cikket

C# Enum enum típusú műveleti kiterjesztési osztály
https://www.itsvse.com/thread-7286-1-1.html
(Forrás: Architect_Programmer)
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com