| 属性 | 值 |
|---|---|
| 规则 ID | CA1823 |
| 标题 | 避免未使用的私有字段 |
| 类别 | “性能” |
| 修复是中断修复还是非中断修复 | 非中断 |
| 在 .NET 9 中默认启用 | 否 |
原因
当代码中存在专用字段但任何代码路径均未使用该字段时,会报告此规则。
规则说明
检测到程序集内有似乎未访问过的私有字段。
如何解决冲突
若要解决此规则的冲突,请删除该字段或添加使用该字段的代码。
Example
public class User
{
private readonly string _firstName;
private readonly string _lastName;
// CA1823: Unused field '_age'
private readonly int _age;
public User(string firstName, string lastName)
{
_firstName = firstName;
_lastName = lastName;
}
public string GetFullName()
{
return $"My name is {_firstName} {_lastName}";
}
}
何时禁止显示警告
禁止显示此规则的警告是安全的。
抑制警告
如果只想抑制单个冲突,请将预处理器指令添加到源文件以禁用该规则,然后重新启用该规则。
#pragma warning disable CA1823
// The code that's violating the rule is on this line.
#pragma warning restore CA1823
若要对文件、文件夹或项目禁用该规则,请在none中将其严重性设置为 。
[*.{cs,vb}]
dotnet_diagnostic.CA1823.severity = none
有关详细信息,请参阅如何禁止显示代码分析警告。