我不时会看到如下的枚举:
[Flags]
public enum Options
{
None = 0,
Option1 = 1,
Option2 = 2,
Option3 = 4,
Option4 = 8
}
Run Code Online (Sandbox Code Playgroud)
我不明白[Flags]
-attribute 到底是做什么的.
任何人都可以发布一个很好的解释或示例?
我有以下枚举:
[Flags]
public enum PermissionLevel {
User = 1,
Administrator = 2,
ITStaff = 3,
Manager = 4,
SuperAdministrator = 6,
}
Run Code Online (Sandbox Code Playgroud)
当我做:
PermissionLevel permission = (PermissionLevel) dr.GetInt32(i);
Run Code Online (Sandbox Code Playgroud)
我获得分配给权限对象的随机权限值.例如,如果我是6,我的权限对象返回"管理员|经理",我应该得到"超级管理员".当我将实例强制转换为整数时,它返回6.
我错过了什么吗?