私はそのように宣言された列挙型を持っています
[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の任意の組み合わせを含めることができます。私が最も高いものとして見つけようとしているのは、基本的に作成+編集+表示です。それが失敗した場合は、編集+表示、最後に表示