Enum.HasFlag Method
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Determines whether one or more bit fields are set in the current instance.
Assembly: mscorlib (in mscorlib.dll)
Parameters
- flag
- Type: System.Enum
An enumeration value.
Return Value
Type: System.Booleantrue if the bit field or bit fields that are set in flag are also set in the current instance; otherwise, false.
| Exception | Condition |
|---|---|
| ArgumentException | flag is a different type than the current instance. |
The HasFlag method returns the result of the following Boolean expression.
thisInstance And flag = flag
If the underlying value of flag is zero, the method returns true. If this behavior is not desirable, you can use the Equals method to test for equality with zero and call HasFlag only if the underlying value of flag is non-zero, as the following example illustrates.
The HasFlag method is designed to be used with enumeration types that are marked with the FlagsAttribute attribute. For enumeration types that are not marked with the FlagsAttribute attribute, call either the Equals method or the CompareTo method.