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 );