Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 24485|Atsakyti: 3

[Šaltinis] C# Enum paprastojo leidimo dizainas naudoja ypatybę FlagsAttribute

[Kopijuoti nuorodą]
Paskelbta 2019-04-22 14:30:51 | | | |
C# galite atlikti logines operacijas su sveikaisiais objektais po bitus. Loginės operacijos bitais reikšmė yra ta, kad kiekvienas valdomo objekto bitas yra paeiliui, o kiekvieno bito loginės operacijos rezultatas yra kiekvienas rezultato vertės bitas. C# palaikomi bitų logikos operatoriai parodyti šiame paveikslėlyje:



Pagrindinis leidimo dizainas:

<summary>
///權限列舉
</summary>
[FlagsAttribute]
publicenumPermissions
{
Description("Nesukonfigūruota")]
Nėra = 0,
[Aprašas ("Sukurti")]
Sukurti = 1,
[Aprašymas ("Skaityti")]
Skaityti = 2,
[Aprašas ("Atnaujinti")]
Atnaujinimas=4,
[Aprašas ("Ištrinti")]
Ištrinti = 8,
[Aprašas ("Visos funkcijos")]
Visi=Sukurti| Skaityti| Atnaujinti| Ištrinti
}



1 būdas: naudokite galios reikšmę 2 kaip išvardijimo reikšmę būsimoms bitų operacijoms (&AND, |OR, ^XOR).


2 patarimas: pridėkite naują leidimo veiksmą prie esamo leidimo. (ARBA operacija)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(leidimas. ToString());
Rezultatas:Sukurti

3 patarimas: pridėkite žymą [FlagsAttribute]

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(leidimas. ToString());
Rezultatas:Create([FlagsAttribute] neturi įtakos rezultatui)

permission=permission| Permissions.Read;
MessageBox.Show(leidimas. ToString());
Rezultatas: 3 ([FlagsAttribute] nepridėtas)
Rezultatas:Kurti,Skaityti (pridėti [FlagsAttribute])


4 patarimas: pašalinkite tam tikrą leidimo veiksmą iš esamo leidimo. (XOR ir AND skaičiavimo programos)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(leidimas. ToString());
Rezultatas:Sukurti

permission=permission| Permissions.Read;
permission=permission| Permissions.Update;
MessageBox.Show(leidimas. ToString());
Rezultatas:Kurti,Skaityti,Naujinti

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(leidimas. ToString());
Rezultatas:Kurti,Naujinti


5 patarimas: nustatykite, ar turite tam tikrą leidimą dabartiniame leidime (AND operacijoje)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(leidimas. ToString());
Rezultatas:Sukurti

permission=permission| Permissions.Read;
permission=permission| Permissions.Update;
MessageBox.Show(leidimas. ToString());
Rezultatas:Kurti,Skaityti,Naujinti

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(leidimas. ToString());
Rezultatas:Kurti,Naujinti

boolIsCreatable=klaidingas;
if((permission&Permissions.Create)==Permissions.Create)
{
IsCreatable=true;
}
kitaip
{
IsCreatable=false;
}
MessageBox.Show(IsCreatable.ToString());
Rezultatas: teisinga

C# išvardijimai naudoja vėliavėlių funkciją, kai kelios reikšmės saugomos viename išvardijimo kintamajame
https://www.itsvse.com/thread-4661-1-1.html
(Šaltinis: Architect_Programmer)







Ankstesnis:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Kitą:Virtualios ir (abstrakčios) abstrakcijos ir sąsajos panašumai ir skirtumai C#...
Paskelbta 2019-04-23 08:28:32 |
Atidžiai aptarkite ir tobulėkite kartu! - Tue Apr 23, 2019 08:28:32 GMT+0800 (Kinijos standartinis laikas)
Paskelbta 2019-11-11 09:49:58 |
Kaip gauti kelių pasirinkimų išvardijimo aprašą?
 Savininkas| Paskelbta 2019-11-11 11:00:19 |
Mėlynas dangus ir balti debesys Publikuota: 2019-11-11 09:49
Kaip gauti kelių pasirinkimų išvardijimo aprašą?

Prašome peržiūrėti žemiau esantį straipsnį

C# Enum enum tipo veikimo išplėtimo klasė
https://www.itsvse.com/thread-7286-1-1.html
(Šaltinis: Architect_Programmer)
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com