Remove unread private member (IDE0052)
Property | Value |
---|---|
Rule ID | IDE0052 |
Title | Remove unread private member |
Category | CodeQuality |
Subcategory | Unnecessary code rules (expression-level preferences) |
Applicable languages | C# and Visual Basic |
Overview
This rule flags private fields and properties that have one or more write references but no read references. In this scenario, some parts of the code can be refactored or removed to fix maintainability, performance, or functional issues.
Options
This rule has no associated code-style options.
Example
// Code with violations
class C
{
// IDE0052: Remove unread private members
private readonly int _field1;
private int _field2;
private int Property { get; set; }
public C()
{
_field1 = 0;
}
public void SetMethod()
{
_field2 = 0;
Property = 0;
}
}
// Fixed code
class C
{
public C()
{
}
public void SetMethod()
{
}
}
Suppress a warning
If you want to suppress only a single violation, add preprocessor directives to your source file to disable and then re-enable the rule.
#pragma warning disable IDE0052
// The code that's violating the rule is on this line.
#pragma warning restore IDE0052
To disable the rule for a file, folder, or project, set its severity to none
in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.IDE0052.severity = none
To disable this entire category of rules, set the severity for the category to none
in the configuration file.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
For more information, see How to suppress code analysis warnings.