テクニックを学びながらflag
、私はいくつかの問題に遭遇しました。ここでは、列挙型でC#を使用してこの例を示しています。
[Flags]
enum PermissionTypes : byte
{
None = 0x0,
Read = 0x1,
Write = 0x2,
Modify = 0x4,
Delete = 0x8,
Create = 0x10,
All = Read | Write | Modify | Delete | Create
}
hasFlagプロパティを確認するには:
if((value & mask) == mask) {...}
しかし、「hasFlag」が「None」と「Read」の両方に適用された場合:
Denote x = Current_Permission_Setting,
x & PermissionTypes.None = always false
x & PermissionTypes.Read = always true IFF
(続き')IFF x={ ODDバイト値}
質問:安全に使用できるフラグ値の完全なセットは何ですか?
参照: これが完全な例です。