我有一个这样声明的枚举
[Flags]
public enum PermissionEnum
{
[EnumStringValue("None")]
None = 0x0,
[EnumStringValue("Create")]
Create = 0x1,
[EnumStringValue("Edit")]
Edit = 0x2,
[EnumStringValue("View")]
View = 0x4
}
我随后有一些 linq 试图获得可用的最高权限。
List<SecurityRolePermissionView> AvailablePermissions = GetPermissions();
SecurityRolePermissionView HighestPermission = AvailablePermissions.OrderByDescending(o => o.Permission).FirstOrDefault();
使用当前的枚举值,这似乎符合它的建议。但是,我非常确信这段代码是不正确的,但我不确定我能否解释为什么或如何实现正确的实现。
无论哪种方式,有人可以确认这是否实际上不正确(以及为什么)并解释如何实现我想要的结果?
编辑:在解释我的最高权限是什么时,我可能不够清楚。这是一个标志枚举。因此它可以包含 None、Create、Edit、View 的任意组合。我希望找到的最高级别基本上是创建 + 编辑 + 视图。如果失败,编辑+查看,最后查看