列の1つに複合列挙整数値が含まれるデータベースがあります。特定の列挙整数値のこれらすべての値 (ある場合) を削除する必要がありますが、残りはそのままにしておきます。
[Flags]
public enum MyEnum
{
Enum1 = 1,
Enum2 = 2,
Enum3 = 4,
Enum4 = 8,
}
私たちが見つけたデータベースで
Row MyEnumSettings
1 3 (Enum1 | Enum2)
2 8 (Enum4)
3 6 (Enum2 | Enum3)
4 14 (Enum2 | Enum3 | Enum4)
すべての行から Enum3 を削除し、最終的に
Row MyEnumSettings
1 3 (no change)
2 8 (no chnage)
3 2 (removed Enum3)
4 10 (removed Enum3)
Enum.IsDefined を使用して、整数が列挙型の一部であるかどうかを確認できます (複合整数値で機能するかどうかはわかりません..)。しかし、指定された整数値に列挙型の特定の部分が含まれているかどうかを確認するにはどうすればよいでしょうか?