冗余码检测;在受保护或作用域更高的属性和字段上的工作方式不同

本文关键字:属性 字段 方式不 工作 检测 受保护 作用域 冗余 | 更新日期: 2023-09-27 18:09:30

在下面的代码示例中,r#将告诉我赋值是多余的。这对我来说很有意义。

private string _name = null;   // Redundant code warning

然而,事情是不同的,一旦字段/属性得到保护或更高

protected string Name = null; // No Redundant code warning

这是一个bug在r#还是有背后的原因?

冗余码检测;在受保护或作用域更高的属性和字段上的工作方式不同

这是因为没有寻找派生类,ReSharper无法判断它是否被使用,所以它在谨慎方面犯了错误,并假设它在某处被使用。如果你启用了解决方案范围分析,ReSharper将能够看到整个解决方案,并且知道字段是否在派生类中使用。然后它会显示多余的代码警告。