Skip to main content

RCS1254: Normalize format of enum flag value

Properties​

PropertyValue
Default SeverityInfo
Minimum language version-

Examples​

Example #1​

.editorconfig
roslynator_enum_flag_value_style = shift_operator
diagnostic.cs
[Flags]
enum Foo
{
None = 0,
A = 1,
B = 2,
C = 4,
D = 8
}
fix.cs
[Flags]
enum Foo
{
None = 0,
A = 1,
B = 1 << 1,
C = 1 << 2,
D = 1 << 3
}

Example #2​

.editorconfig
roslynator_enum_flag_value_style = decimal_number
diagnostic.cs
[Flags]
enum Foo
{
None = 0,
A = 1,
B = 1 << 1,
C = 1 << 2,
D = 1 << 3
}
fix.cs
[Flags]
enum Foo
{
None = 0,
A = 1,
B = 2,
C = 4,
D = 8
}

Configuration​

info

Option roslynator_enum_flag_value_style is required to be set for this analyzer to work.

.editorconfig
# Format enum flag value as decimal number or as a shift operator
roslynator_enum_flag_value_style = decimal_number|shift_operator

Applies to​