Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 24485|Svar: 3

[Kilde] C# Enum Simple Permission Design bruger egenskaben FlagsAttribute

[Kopier link]
Opslået på 22/04/2019 14.30.51 | | | |
I C# kan du udføre logiske operationer på heltalsobjekter efter bit. Betydningen af logisk operation per bit er, at hver bit af det objekt, der skal opereres, tages i rækkefølge, og det logiske operationsresultat for hver bit er hver bit af resultatværdien. Bitlogikoperatorerne, som C# understøtter, vises i følgende figur:



Grundlæggende tilladelsesdesign:

<summary>
///權限列舉
</summary>
[FlagsAttribute]
publicenumTilladelser
{
Beskrivelse ("Ikke konfigureret")]
Ingen=0,
[Beskrivelse ("Skab")]
Create=1,
[Beskrivelse ("Læs")]
Read=2,
[Beskrivelse ("Opdatering")]
Opdatering=4,
[Beskrivelse ("Slet")]
Delete=8,
[Beskrivelse ("Alle funktioner")]
alle=Skab| Læs| Opdatering| Slet
}



Teknik 1: Brug effektværdien 2 som opremsningsværdi for fremtidige bitoperationer (&AND, |ELLER, ^XOR).


Tip 2: Tilføj en ny tilladelseshandling til den eksisterende tilladelse. (OR-operation)

Permissionspermission=Permissions.None;
tilladelse=tilladelse| Permissions.Create;
MessageBox.Show(tilladelse. ToString());
Resultat: Opret

Tip 3: Tilføj tagget [FlagsAttribute]

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

tilladelse=tilladelse| Tilladelser.Læs;
MessageBox.Show(tilladelse. ToString());
Resultat: 3 ([FlagsAttribute] ikke tilføjet)
Resultat:Oprette,Læs (tilføj [FlagsAttribute])


Tip 4: Fjern en bestemt tilladelseshandling fra den eksisterende tilladelse. (XOR og AND computing applikationer)

Permissionspermission=Permissions.None;
tilladelse=tilladelse| Permissions.Create;
MessageBox.Show(tilladelse. ToString());
Resultat: Opret

tilladelse=tilladelse| Tilladelser.Læs;
tilladelse=tilladelse| Tilladelser. Opdatering;
MessageBox.Show(tilladelse. ToString());
Resultat:Opadér, Læs, Opdater

tilladelse=(tilladelse&(Tilladelser.Alle^Tilladelser.Læs));
MessageBox.Show(tilladelse. ToString());
Resultat:Oprette, Opdater


Tip 5: Bestem om du har en bestemt tilladelse i den nuværende tilladelse (OG operation)

Permissionspermission=Permissions.None;
tilladelse=tilladelse| Permissions.Create;
MessageBox.Show(tilladelse. ToString());
Resultat: Opret

tilladelse=tilladelse| Tilladelser.Læs;
tilladelse=tilladelse| Tilladelser. Opdatering;
MessageBox.Show(tilladelse. ToString());
Resultat:Opadér, Læs, Opdater

tilladelse=(tilladelse&(Tilladelser.Alle^Tilladelser.Læs));
MessageBox.Show(tilladelse. ToString());
Resultat:Oprette, Opdater

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

C#-enums bruger Flags-funktionen, hvor flere værdier gemmes i én opramningsvariabel
https://www.itsvse.com/thread-4661-1-1.html
(Kilde: Architect_Programmer)







Tidligere:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Næste:Lighederne og forskellene mellem virtuel og (abstrakt) abstraktion og interface i C#...
Opslået på 23/04/2019 08.28.32 |
Diskuter grundigt og forbered jer sammen! - Tir 23. apr 2019 08:28:32 GMT+0800 (Kina Standardtid)
Opslået på 11/11/2019 09.49.58 |
Hvordan får jeg en beskrivelse til en multi-select opramning?
 Udlejer| Opslået på 11/11/2019 11.00.19 |
Blå himmel og hvide skyer Opslået den 11-11-2019 09:49
Hvordan får jeg en beskrivelse til en multi-select opramning?

Se venligst artiklen nedenfor

C# Enum enum type operation extension class
https://www.itsvse.com/thread-7286-1-1.html
(Kilde: Architect_Programmer)
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com