1. 程式人生 > >C# 枚舉 Flag屬性(權限設計)

C# 枚舉 Flag屬性(權限設計)

防止 amp typeof arp public light create 相加 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 ); 

C# 枚舉 Flag屬性(權限設計)