Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 24485|Odpověď: 3

[Zdroj] C# Enum Simple Permission Design používá vlastnost FlagsAttribute

[Kopírovat odkaz]
Zveřejněno 22.04.2019 14:30:51 | | | |
V C# můžete provádět logické operace na celočíselných objektech podle bitů. Význam logické operace podle bitu spočívá v tom, že každý bit objektu, který má být operován, je postupně brán a výsledek logické operace každého bitu je každý bit výsledné hodnoty. Bitové logické operátory podporované C# jsou zobrazeny na následujícím obrázku:



Základní návrh oprávnění:

<summary>
///權限列舉
</summary>
[FlagsAttribute]
publicenumPovolení
{
Popis("Není konfigurován")]
Žádný=0,
[Popis ("Vytvoř")]
Create=1,
[Popis ("Číst")]
Read=2,
[Popis ("Aktualizace")]
Aktualizace=4,
[Popis ("Smazat")]
delete=8,
[Popis ("Všechny vlastnosti")]
Všechny=Vytvořit| Čti| Aktualizace| Smazat
}



Technika 1: Použijte mocovou hodnotu 2 jako enumerační hodnotu pro budoucí bitové operace (&AND, |OR, ^XOR).


Tip 2: Přidejte novou akci oprávnění ke stávajícímu oprávnění. (Operační sál)

Permissionspermission=Permissions.None;
povolení=povolení| Permissions.Create;
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit

Tip 3: Přidejte tag [FlagsAttribute]

Permissionspermission=Permissions.None;
povolení=povolení| Permissions.Create;
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit([FlagsAttribute] neovlivňuje výsledek)

povolení=povolení| Permissions.Read;
MessageBox.Show(permission. ToString());
Výsledek: 3 ([FlagsAttribute] nepřidán)
Výsledek:Vytvořit, Přečíst (přidat [FlagsAttribute])


Tip 4: Odstraňte určitou akci oprávnění z existujícího oprávnění. (Aplikace XOR a AND)

Permissionspermission=Permissions.None;
povolení=povolení| Permissions.Create;
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit

povolení=povolení| Permissions.Read;
povolení=povolení| Permissions.Update;
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit, Číst, Aktualizovat

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit,Aktualizovat


Tip 5: Zjistěte, zda máte určité oprávnění v aktuálním oprávnění (A provozu)

Permissionspermission=Permissions.None;
povolení=povolení| Permissions.Create;
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit

povolení=povolení| Permissions.Read;
povolení=povolení| Permissions.Update;
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit, Číst, Aktualizovat

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(permission. ToString());
Výsledek:Vytvořit,Aktualizovat

boolIsCreatable=false;
if((permission&Permissions.Create)==Permissions.Create)
{
IsCreatable=true;
}
jinak
{
IsCreatable=false;
}
MessageBox.Show(IsCreatable.ToString());
Výsledek: Pravda

C# enumy používají funkci Flags, kde je uloženo více hodnot v jedné enumerační proměnné
https://www.itsvse.com/thread-4661-1-1.html
(Zdroj: Architect_Programmer)







Předchozí:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Další:Podobnosti a rozdíly mezi virtuálním a (abstraktním) abstraktem a rozhraním v C#...
Zveřejněno 23.04.2019 8:28:32 |
Diskutujte pečlivě a společně se zlepšujete! - Út 23. dubna 2019 08:28:32 GMT+0800 (čínský standardní čas)
Zveřejněno 11.11.2019 9:49:58 |
Jak získám popis pro vícevýběrové vyčítání?
 Pronajímatel| Zveřejněno 11.11.2019 11:00:19 |
Modrá obloha a bílé mraky Zveřejněno 11. 11. 2019 09:49
Jak získám popis pro vícevýběrové vyčítání?

Podívejte se prosím na níže uvedený článek

C# Třída rozšíření operace typu enum
https://www.itsvse.com/thread-7286-1-1.html
(Zdroj: Architect_Programmer)
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com