如何抑制具有注入属性的属性的 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,它向我显示了这一行的警告:
- 属性 'VrtSystemsFlatRepository' 可以设为私有
- Auto-属性 从未使用过访问器
我内心的完美主义者看到就痛苦,不知道如何避免这个警告。
我知道两种方法,但我都不喜欢。
- 除了
Inject
之外还添加 UsedImplicitly
属性。警告会被抑制,但是我需要在很多地方添加这个属性。
- 为解决方案、项目或文件全局禁止警告。
您可以配置 Ninject 以查找 [Inject]
以外的自定义属性,方法是让内核传递 NinjectSettings
和不同的 InjectAttribute
。您应该能够从 UsedImplicitly
继承此自定义属性以抑制 Resharper 警告。
需要在 JetBrains 的外部注释包中为 "Ninject.InjectAttribute" 添加 "MeansImplicitUse" 注释:
https://github.com/JetBrains/ExternalAnnotations/issues/161
我们在 C# 项目中使用依赖注入器 Ninject。通常的实现方式如下所示:
[Inject]
public UsersRepositoryInterface UsersRepository { private get; set; }
除此之外,我还为解决方案启用了 Resharper Wide Analysis,它向我显示了这一行的警告:
- 属性 'VrtSystemsFlatRepository' 可以设为私有
- Auto-属性 从未使用过访问器
我内心的完美主义者看到就痛苦,不知道如何避免这个警告。
我知道两种方法,但我都不喜欢。
- 除了
Inject
之外还添加UsedImplicitly
属性。警告会被抑制,但是我需要在很多地方添加这个属性。 - 为解决方案、项目或文件全局禁止警告。
您可以配置 Ninject 以查找 [Inject]
以外的自定义属性,方法是让内核传递 NinjectSettings
和不同的 InjectAttribute
。您应该能够从 UsedImplicitly
继承此自定义属性以抑制 Resharper 警告。
需要在 JetBrains 的外部注释包中为 "Ninject.InjectAttribute" 添加 "MeansImplicitUse" 注释: https://github.com/JetBrains/ExternalAnnotations/issues/161