S2342 — Enumeration types should comply with a naming convention

Language
C#
Type
Code smell
Severity
Minor
Tags
convention

Why is this an issue?

Shared naming conventions allow teams to collaborate efficiently. This rule checks that all enum names match a provided regular expression.

The default configuration is the one recommended by Microsoft:

Noncompliant code example

With the default regular expression for non-flags enums: ^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?$


public enum foo // Noncompliant
{
    FooValue = 0
}

With the default regular expression for flags enums: ^([A-Z]{1,3}[a-z0-9]+)*([A-Z]{2})?s$


[Flags]
public enum Option // Noncompliant
{
    None = 0,
    Option1 = 1,
    Option2 = 2
}

Compliant solution


public enum Foo
{
    FooValue = 0
}

[Flags]
public enum Options
{
    None = 0,
    Option1 = 1,
    Option2 = 2
}

↑ Back to top