C# 枚举 Flag属性(权限设计)

枚举是一个可以列举元素的对象,常用于权限,日期,类型等。

如果对一个值可以包含多个,那么可以使用枚举,加上Flags

[Flag]
public enum Permission
{
  create=1,
  add=2,
  delete=4,
  update=8        
}
//权限设计通常用2的幂次方,防止值重复

权限相加

Permission addP=Permission.create|Permission.add

判断是否含有此权限

addP.HasFlag(Permission.add);
//或者
(show & Show.A)!=0;//T 有 F 无

删除权限

addP=addP& (~Permission.add);

数据库存int,将int转成枚举

Permission allP = (Permission) Enum.Parse(typeof(Permission), 3 ); 

转载于:https://www.cnblogs.com/itsone/p/10310644.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值