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 IDE0052To disable the rule for a file, folder, or project, set its severity to none in the configuration file.
[*.{cs,vb}]
dotnet_diagnostic.IDE0052.severity = noneTo 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 = noneFor more information, see How to suppress code analysis warnings.