Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 24485|Odpowiedź: 3

[Źródło] C# Enum Simple Permission Design wykorzystuje właściwość FlagsAttribute

[Skopiuj link]
Opublikowano 22.04.2019 14:30:51 | | | |
W C# możesz wykonywać operacje logiczne na obiektach całkowitoliczbowych według bitów. Znaczenie operacji logicznej według bitu polega na tym, że każdy bit obiektu do wykonania jest przyjmowany po kolei, a wynik operacji logicznej każdego bitu to każdy bit wartości wyniku. Operatory bitowe logiczne obsługiwane przez C# przedstawiono na następującym rysunku:



Podstawowy projekt uprawnień:

<summary>
///權限列舉
</summary>
[Atrybut flagi]
publicenumZezwolenia
{
Opis("Nie skonfigurowany")]
Żadny=0,
[Opis ("Create")]
create=1,
[Opis ("Czytaj")]
Read=2,
[Opis ("Aktualizacja")]
Aktualizacja=4,
[Opis ("Usuń")]
delete=8,
[Opis ("Wszystkie cechy")]
Wszystko=Stwórz| Przeczytaj| Aktualizacja| Usuń
}



Technika 1: Użyj wartości potęgowej 2 jako wartości enumeracyjnej dla przyszłych operacji bitowych (&AND, |LUB, ^XOR).


Wskazówka 2: Dodaj nową akcję uprawnień do istniejącego uprawnień. (Operacja operacyjna)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Wynik: Stwórz

Wskazówka 3: Dodaj tag [FlagsAttribute]

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Wynik: Create([FlagsAttribute] nie wpływa na wynik)

permission=permission| Permissions.Read;
MessageBox.Show(permission. ToString());
Wynik: 3 ([FlagsAttribute] nie dodano)
Wynik: Tworzyć, Czytać (dodaj [FlagsAttribute])


Wskazówka 4: Usuń określoną akcję uprawnień z istniejącego zezwolenia. (Aplikacje komputerowe XOR i AND)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Wynik: Stwórz

permission=permission| Permissions.Read;
permission=permission| Permissions.Update;
MessageBox.Show(permission. ToString());
Wynik: Twórz, Czytaj, Aktualizuj

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(permission. ToString());
Wynik: Twórz, Aktualizuj


Wskazówka 5: Sprawdź, czy masz określone uprawnienia w aktualnym (I operacji)

Permissionspermission=Permissions.None;
permission=permission| Permissions.Create;
MessageBox.Show(permission. ToString());
Wynik: Stwórz

permission=permission| Permissions.Read;
permission=permission| Permissions.Update;
MessageBox.Show(permission. ToString());
Wynik: Twórz, Czytaj, Aktualizuj

permission=(permission&(Permissions.All^Permissions.Read));
MessageBox.Show(permission. ToString());
Wynik: Twórz, Aktualizuj

boolIsCreatable=false;
if((permission&Permissions.Create)==Permissions.Create)
{
IsCreatable=true;
}
else
{
IsCreateatable=false;
}
MessageBox.Show(IsCreatable.ToString());
Wynik: Prawdziwy

Enumy C# wykorzystują funkcję Flags, gdzie wiele wartości jest przechowywanych w jednej zmiennej enumeracyjnej
https://www.itsvse.com/thread-4661-1-1.html
(Źródło: Architect_Programmer)







Poprzedni:System.MissingMethodException: 找不到方法:“Void Dapper.DynamicP...
Następny:Podobieństwa i różnice między wirtualnym a (abstrakcyjnym) abstrakcją a interfejsem w C#...
Opublikowano 23.04.2019 08:28:32 |
Dyskutujcie uważnie i wspólnie się rozwijajcie! - Wtorek 23 kwietnia 2019 08:28:32 GMT+0800 (czas chiński standardowy)
Opublikowano 11.11.2019 09:49:58 |
Jak uzyskać opis do wielowyborczej enumeracji?
 Ziemianin| Opublikowano 11.11.2019 11:00:19 |
Błękitne Niebo i Białe Chmury Opublikowano 2019-11-11 09:49
Jak uzyskać opis do wielowyborczej enumeracji?

Proszę zapoznać się z poniższym artykułem

C# Klasa rozszerzenia operacji typu enum
https://www.itsvse.com/thread-7286-1-1.html
(Źródło: Architect_Programmer)
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com