.NET 4.x Какой оператор нужен? - C#
Формулировка задачи:
У меня есть
И разные битовые вариации
1 - User
2 - Admin
3 - User | Admin
4 - Operator
5 - User | Operator
6 - Admin | Operator
7 - User | Admin | Operator
Как сделать так если У нас стоит вариация
3 а к нам долбится 1 или 2 мы его пропускали.
Если стоит 2 мы не пропускали 1 но пропускали 2
ИТД
Как бы контроллер прав доступа. Я не очень силен в бинарных операторах и бинарной логике. Но думаю что так сделать можно.
Ведь например в тех же атрибутах можно применять оператор | для наложения ограничений
enum S:short { User=1 Admin=2 Operator=4 }
Решение задачи: «.NET 4.x Какой оператор нужен?»
textual
Листинг программы
S AccessRigths = S.Admin; var user = new User() { Type = S.User }; var op = new User() { Type = S.Operator }; var admin = new User() { Type = S.Admin }; if ( (AccessRigths & user.Type) == 0 ) Console.WriteLine( "user denied" ); if ( (AccessRigths & op.Type) == 0 ) Console.WriteLine( "op denied" ); if ( (AccessRigths & admin.Type) == 0 ) Console.WriteLine( "admin denied" ); Console.ReadKey();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д