Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 24485|Vastaus: 3

[Lähde] C# Enum Simple Permission Design käyttää FlagsAttribute-ominaisuutta

[Kopioi linkki]
Julkaistu 22.4.2019 14.30.51 | | | |
C#:ssa voit suorittaa loogisia operaatioita kokonaislukuobjekteille bittinä. Loogisen bittioperaation merkitys on, että jokainen operoitavan objektin bitti otetaan vuorollaan, ja jokaisen bitin looginen operaation tulos on jokaisen bitin arvon bitti. C#:n tukemat bittilogiikkaoperaattorit on esitetty seuraavassa kuvassa:



Perusluvan suunnittelu:

<summary>
///權限列舉
</summary>
[Liput Attribuutti]
publicenumPermissions
{
Kuvaus("Ei konfiguroitu")]
Ei mitään=0,
[Kuvaus("Luo")]
Create=1,
[Kuvaus("Lue")]
Read=2,
[Kuvaus("Päivitys")]
Päivitys=4,
[Kuvaus("Poista")]
Delete=8,
[Kuvaus ("Kaikki ominaisuudet")]
Kaikki=Luo| Lue| Päivitys| Poista
}



Tekniikka 1: Käytä potenssiarvoa 2 tulevien bittitoimintojen (&AND, |OR, ^XOR) lukumääränä.


Vinkki 2: Lisää uusi käyttöoikeustoiminto olemassa olevaan oikeuteen. (OR Operation)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Tulos: Luo

Vinkki 3: Lisää [FlagsAttribute] -tunniste

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Tulos:Luo([FlagsAttribute] ei vaikuta tulokseen)

permission=permission| Käyttöoikeudet. Lue;
MessageBox.Show(permission. ToString());
Tulos: 3 ([FlagsAttribute] ei lisätty)
Tulos:Luo,Lue (lisää [FlagsAttribute])


Vinkki 4: Poista tietty käyttöoikeustoiminto olemassa olevasta luvasta. (XOR- ja AND-laskentasovellukset)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Tulos: Luo

permission=permission| Käyttöoikeudet. Lue;
permission=permission| Permissions.Update;
MessageBox.Show(permission. ToString());
Tulos: Luo, lue, päivitä

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(permission. ToString());
Tulos: Luo, päivitä


Vinkki 5: Selvitä, onko sinulla tietty oikeus nykyisessä käyttöoikeusjärjestelmässä (JA toiminnassa)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Tulos: Luo

permission=permission| Käyttöoikeudet. Lue;
permission=permission| Permissions.Update;
MessageBox.Show(permission. ToString());
Tulos: Luo, lue, päivitä

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(permission. ToString());
Tulos: Luo, päivitä

boolIsCreatable=epätosi;
if((permission&Permissions.Create)==Permissions.Create)
{
IsCreatable=true;
}
else
{
IsCreaable=false;
}
MessageBox.Show(IsCreatable.ToString());
Tulos: Tosi

C#-enumit käyttävät Flags-ominaisuutta, jossa useita arvoja tallennetaan yhteen enumeraatiomuuttujaan
https://www.itsvse.com/thread-4661-1-1.html
(Lähde: Architect_Programmer)







Edellinen:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Seuraava:Virtuaalisen ja (abstraktin) abstraktin ja rajapinnan samankaltaisuudet ja erot C#:ssa...
Julkaistu 23.4.2019 8.28.32 |
Keskustelkaa tarkkaan ja kehittäkää yhdessä! - Ti 23.4.2019 08:28:32 GMT+0800 (Kiinan normaaliaika)
Julkaistu 11.11.2019 9.49.58 |
Miten saan kuvauksen monivalintaisesta luettelosta?
 Vuokraisäntä| Julkaistu 11.11.2019 11.00.19 |
Sininen taivas ja valkoiset pilvet Julkaistu 11.11.2019 klo 09:49
Miten saan kuvauksen monivalintaisesta luettelosta?

Katso alla oleva artikkeli

C# Enum-tyyppinen operaatiolaajennusluokka
https://www.itsvse.com/thread-7286-1-1.html
(Lähde: Architect_Programmer)
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com