title | description | ms.date | f1_keywords | helpviewer_keywords | author | ms.author | ||||
---|---|---|---|---|---|---|---|---|---|---|
CA1053: Static holder types should not have constructors (code analysis) |
Learn about code analysis rule CA1053: Static holder types should not have constructors |
11/04/2016 |
|
|
gewarren |
gewarren |
Property | Value |
---|---|
Rule ID | CA1053 |
Title | Static holder types should not have default constructors |
Category | Design |
Fix is breaking or non-breaking | Breaking |
Enabled by default in .NET 8 | No |
Note
Rule CA1053 only applies to legacy Visual Studio code analysis. In the .NET code-quality analyzers, it's combined into rule CA1052: Static holder types should be Static or NotInheritable.
A public or nested public type declares only static members and has a default constructor.
The default constructor is unnecessary because calling static members does not require an instance of the type. Also, because the type does not have non-static members, creating an instance does not provide access to any of the type's members.
To fix a violation of this rule, remove the default constructor.
Do not suppress a warning from this rule. The presence of the default constructor suggests that the type is not a static type.