来自 ReSharper 的“从不使用自动属性访问器”警告

Posted

技术标签:

【中文标题】来自 ReSharper 的“从不使用自动属性访问器”警告【英文标题】:"Auto-property accessor is never used" warning from ReSharper 【发布时间】:2017-11-11 11:18:26 【问题描述】:

我们的应用程序是一个 MVC 应用程序。我尝试使用 ReSharper 运行代码分析。我在许多视图模型属性中都收到“从未使用自动属性访问器”作为警告。

例如,ReSharper 在此显示警告:

public bool IsLegalEntry  get; set; 

我可以做一个私人二传手吗,或者任何人都可以提出替代方案吗?

【问题讨论】:

public bool IsLegalEntry get; private set; @Андрей 将隐藏警告但破坏应用程序。 MVC 的模型需要可公开写入的属性。将 setter 设为私有不是这里的解决方案。 ***.com/questions/2790597/… 是的,谢谢您的回复。所以这就是混乱。如果我们试图解决警告,它可能会影响应用程序。 Resharper Warnings with MVVM的可能重复 【参考方案1】:

你可以将 setter 设为私有

public bool IsLegalEntry  get; private set; 

但是,如果隐式使用 setter,这可能会导致运行时错误。或者,您可以使用 JetBrains.Annotations.UsedImplicitlyAttribute 来装饰 setter。

public bool IsLegalEntry  get; [UsedImplicitly] set; 

【讨论】:

【参考方案2】:

作为“警告修复/抑制”范例的替代方案,您可以将测试项目添加到您的解决方案中。然后为您的业务逻辑编写一个测试命中有问题的访问器等等。

但不确定这是您要查找的操作

它提供了您所追求的效果 保存冗余注释属性 增加测试奖励

【讨论】:

以上是关于来自 ReSharper 的“从不使用自动属性访问器”警告的主要内容,如果未能解决你的问题,请参考以下文章

Resharper Initialize 来自构造函数的字段在 2017.1 中不可用

resharper 8.1

Resharper Intellisense 可以配置为按字母顺序排序吗?

使用ReSharper的第一步(入门教程)

C++ 的 ReSharper [关闭]

ReSharper 配置及用法(ZHUANG)