C#


ROSLYN.USAGE.CA2248 : Provide correct 'enum' argument to 'Enum.HasFlag' (C#)

See Roslyn-Detected C# Warning Classes for more information.

Summary

'Enum.HasFlag' method expects the 'enum' argument to be of the same 'enum' type as the instance on which the method is invoked and that this 'enum' is marked with 'System.FlagsAttribute'. If these are different 'enum' types, an unhandled exception will be thrown at runtime. If the 'enum' type is not marked with 'System.FlagsAttribute' the call will always return 'false' at runtime.

This check corresponds to Roslyn rule CA2248. For full rule details, see the Microsoft website: CA2248.

Properties

Class Name Provide correct 'enum' argument to 'Enum.HasFlag' (C#)
Significance reliability
Mnemonic ROSLYN.USAGE.CA2248
Categories None
Availability Available for C# only.
Enabling Checks for this warning class are enabled by default. To disable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += discard class="Provide correct 'enum' argument to 'Enum.HasFlag' (C#)"

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.