Why is this an issue?
When a class has only a
private constructor, it can’t be instantiated except within the class itself. Such classes can be considered
dead code and should be fixed
- Classes that access their private constructors (singletons or smart
enums) are ignored.
- Classes with only
static members are also ignored because they are covered by Rule S1118.
- Classes that derive from SafeHandle since
they can be instantiate through P/Invoke.
How to fix it
Noncompliant code example
Public Class [MyClass] ' Noncompliant: the class contains only private constructors
Private Sub New()
Public Class [MyClass] ' Compliant: the class contains at least one non-private constructor
Public Sub New()