Why is this an issue?
A class with only private
constructors can’t be instantiated, thus, it seems to be pointless code.
Noncompliant code example
public class MyClass // Noncompliant
{
private MyClass() { ... }
}
Compliant solution
public class MyClass
{
public MyClass() { ... }
}
Exceptions
Classes that themselves access their private constructors (singletons or smart enums) are ignored. Classes with only static
members
are also ignored because they are covered by Rule {rule:csharpsquid:S1118}.