Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ReSharper:如何使用另一个属性隐式应用[NotNull]或[CanBeNull]注释?_C#_Resharper_Static Analysis - Fatal编程技术网

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

C# ReSharper:如何使用另一个属性隐式应用[NotNull]或[CanBeNull]注释?,c#,resharper,static-analysis,C#,Resharper,Static Analysis,在我们的代码中,我们有自己的注入框架来支持依赖项注入,如: public class MyClass { [Component("ComponentName1")] // means [NotNull] public MyType NotNullComponent{ get; set; } [OptionalComponent("ComponentName2")] // means [CanBeNull] publ

在我们的代码中,我们有自己的注入框架来支持依赖项注入,如:

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


目前看来不太可能。我在ReSharper的youtrack上提出了一个问题:@IgalTabachnik谢谢。现在看来,最快的解决方案是编写我们自己的Resharper插件来支持它。现在Resharper作为一个实验性功能提供。这不是我的意思。我想让Resharper了解我们的自定义属性与NotNull或CanBeNull具有相同的语义。您能扩展它们的属性吗?