如何抑制具有注入属性的属性的 Resharper 广泛分析警告?

How to suppress Resharper wide-analysis warning of properties with Inject attribute?

我们在 C# 项目中使用依赖注入器 Ninject。通常的实现方式如下所示:

[Inject]
public UsersRepositoryInterface UsersRepository { private get; set; }

除此之外,我还为解决方案启用了 Resharper Wide Analysis,它向我显示了这一行的警告:

我内心的完美主义者看到就痛苦,不知道如何避免这个警告。

我知道两种方法,但我都不喜欢。

  1. 除了 Inject 之外还添加 UsedImplicitly 属性。警告会被抑制,但是我需要在很多地方添加这个属性。
  2. 为解决方案、项目或文件全局禁止警告。

您可以配置 Ninject 以查找 [Inject] 以外的自定义属性,方法是让内核传递 NinjectSettings 和不同的 InjectAttribute。您应该能够从 UsedImplicitly 继承此自定义属性以抑制 Resharper 警告。

需要在 JetBrains 的外部注释包中为 "Ninject.InjectAttribute" 添加 "MeansImplicitUse" 注释: https://github.com/JetBrains/ExternalAnnotations/issues/161