c# - ReSharper:如何使用另一个属性隐式应用 [NotNull] 或 [CanBeNull] 注释?

标签 c# resharper static-analysis

在我们的代码中,我们有自己的注入(inject)框架来启用依赖注入(inject),例如:

public class MyClass {
    [Component("ComponentName1")] // means [NotNull]
    public MyType NotNullComponent{ get; set; }
    
    [OptionalComponent("ComponentName2")] // means [CanBeNull]
    public MyType CanBeNullComponent { get; set; }
}

我们不想再次在所有地方添加 [CanBeNull][NotNull],因为它与 [Component] 有重复的语义和 [OptionalComponent] 属性。

是否可以让ReSharper知道自定义属性的语义来帮助静态分析?

最佳答案

您现在可以通过在代码检查 -> 设置中启用“隐式”来隐式地对所有内容使用 [NotNull]

除非您指定 [CanBeNull],否则所有内容都将被假定为不允许 null。

enter image description here

关于c# - ReSharper:如何使用另一个属性隐式应用 [NotNull] 或 [CanBeNull] 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660579/

相关文章:

c# - System.Timers.Timer() 由于 Elapsed Events 的聚合而多次触发

c# - 不必要的变量赋值

c# - "var"关键字会影响代码的可读性吗?

swift - 如何对 SwiftLint 自定义规则使用正则表达式量词 * 和 +

c# - 如何区分 .net WebBrowser 组件和实际浏览器?

c# - 通过 WCF 提供整个库的功能

visual-studio - 如何让 Visual Studio 将单元测试放置在我想要的位置?

unit-testing - 在 VS 中为 typescript 运行单元测试

Erlang 透析器 创造的乐趣没有本地返回

c++ - C++ 的开源静态代码分析工具