コードインスペクション:ビットマスクの値に基づき、式の結果は常に同じになります。
このインスペクションは、動的に見えるものの、関連するマスクのために常に同じ結果に評価される列挙型ビットマスク比較を報告します。 これは通常、 & または | の結果を、決して一致しないフラグの組み合わせと比較するコードで発生します。
サンプル
[Flags]
enum Box
{
Long = 1,
High = 2,
Colorful = 4
}
bool HasColor(Box box)
{
return (box & Box.High) == Box.Colorful;
}
[Flags]
enum Box
{
Long = 1,
High = 2,
Colorful = 4
}
bool HasHigh(Box box)
{
return (box & Box.High) == Box.High;
}
修正方法
このインスペクションには専用のクイックフィックスはありません。 修正方法は、マスクによって実際に生成可能なフラグの組み合わせと比較することです。
2026 年 6 月 12 日