Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 24485|Svare: 3

[Kilde] C# Enum Simple Permission Design bruker egenskapen FlagsAttribute

[Kopier lenke]
Publisert på 22.04.2019 14:30:51 | | | |
I C# kan du utføre logiske operasjoner på heltallsobjekter per bit. Betydningen av logisk operasjon per bit er at hver bit i objektet som skal opereres tas i tur og ordning, og det logiske operasjonsresultatet for hver bit er hver bit av resultatets verdi. Bitlogikkoperatorene støttet av C# vises i følgende figur:



Grunnleggende tillatelsesdesign:

<summary>
///權限列舉
</summary>
[FlagsAttribute]
publicenumTillatelser
{
Beskrivelse ("Ikke konfigurert")]
Ingen=0,
[Beskrivelse ("Skap")]
Create=1,
[Beskrivelse ("Les")]
Read=2,
[Beskrivelse ("Oppdatering")]
Oppdatering=4,
[Beskrivelse ("Slett")]
Delete=8,
[Beskrivelse ("Alle funksjoner")]
alle=Skape| Les| Oppdatering| Slett
}



Teknikk 1: Bruk effektverdien 2 som oppramsningsverdi for fremtidige bitoperasjoner (&AND, |ELLER, ^XOR).


Tips 2: Legg til en ny tillatelseshandling til den eksisterende tillatelsen. (OR-operasjon)

Permissionspermission=Permissions.None;
tillatelse=tillatelse| Permissions.Create;
MessageBox.Show(tillatelse. ToString());
Resultat:Lag

Tips 3: Legg til [FlagsAttribute]-taggen

Permissionspermission=Permissions.None;
tillatelse=tillatelse| Permissions.Create;
MessageBox.Show(tillatelse. ToString());
Result:Create([FlagsAttribute] påvirker ikke resultatet)

tillatelse=tillatelse| Tillatelser.Les;
MessageBox.Show(tillatelse. ToString());
Resultat: 3 ([FlagsAttribute] ikke lagt til)
Resultat:Opprette,Les (legg til [FlagsAttribute])


Tips 4: Fjern en bestemt tillatelseshandling fra den eksisterende tillatelsen. (XOR og AND beregningsapplikasjoner)

Permissionspermission=Permissions.None;
tillatelse=tillatelse| Permissions.Create;
MessageBox.Show(tillatelse. ToString());
Resultat:Lag

tillatelse=tillatelse| Tillatelser.Les;
tillatelse=tillatelse| Permissions.Update;
MessageBox.Show(tillatelse. ToString());
Resultat:Lag, Les, Oppdater

tillatelse=(tillatelse&(Tillatelser.All^Tillatelser.Les));
MessageBox.Show(tillatelse. ToString());
Resultat:Opprette, Oppdater


Tips 5: Finn ut om du har en viss tillatelse i den nåværende tillatelsen (OG driften)

Permissionspermission=Permissions.None;
tillatelse=tillatelse| Permissions.Create;
MessageBox.Show(tillatelse. ToString());
Resultat:Lag

tillatelse=tillatelse| Tillatelser.Les;
tillatelse=tillatelse| Permissions.Update;
MessageBox.Show(tillatelse. ToString());
Resultat:Lag, Les, Oppdater

tillatelse=(tillatelse&(Tillatelser.All^Tillatelser.Les));
MessageBox.Show(tillatelse. ToString());
Resultat:Opprette, Oppdater

boolIsCreatable=falsk;
if((permission&Permissions.Create)==Permissions.Create)
{
IsCreatable=sann;
}
ellers
{
IsCreatable=falsk;
}
MessageBox.Show(IsCreatable.ToString());
Resultat: Sant

C#-enums bruker Flags-funksjonen, hvor flere verdier lagres i én enumerasjonsvariabel
https://www.itsvse.com/thread-4661-1-1.html
(Kilde: Architect_Programmer)







Foregående:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Neste:Likhetene og forskjellene mellom virtuell og (abstrakt) abstraksjon og grensesnitt i C#...
Publisert på 23.04.2019 08:28:32 |
Diskuter nøye og forbedre dere sammen! - Tir 23. april 2019 08:28:32 GMT+0800 (Kina standardtid)
Publisert på 11.11.2019 09:49:58 |
Hvordan får jeg en beskrivelse for en flervalgsoppramsing?
 Vert| Publisert på 11.11.2019 11:00:19 |
Blå himmel og hvite skyer Publisert 2019-11-11 09:49
Hvordan får jeg en beskrivelse for en flervalgsoppramsing?

Vennligst se artikkelen nedenfor

C# Enum enum type operasjonsutvidelsesklasse
https://www.itsvse.com/thread-7286-1-1.html
(Kilde: Architect_Programmer)
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com