Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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# 是否有可能让分析器理解Jetbrains NotNull属性或等效属性?_C#_Resharper_Roslyn Code Analysis_C# 7.0 - Fatal编程技术网

C# 是否有可能让分析器理解Jetbrains NotNull属性或等效属性?

C# 是否有可能让分析器理解Jetbrains NotNull属性或等效属性?,c#,resharper,roslyn-code-analysis,c#-7.0,C#,Resharper,Roslyn Code Analysis,C# 7.0,我一直在使用Jetbrains属性作为方法中的引用参数,以使ReSharper在不为null的情况下信任这些参数,同时强制我确保在调用端检查发送到NotNull参数的内容 ReSharper静态分析示例: 现在我开始使用,它们不关心ReSharper属性,并且将触发方法体中的CA1062警告,不管我是否用NotNull修饰参数 在许多情况下,我更喜欢静态代码分析,而不是在运行时使用null检查和抛出ArgumentNull异常。ReSharper仍在警告我有关NotNull参数的函数调用,但

我一直在使用Jetbrains属性作为方法中的引用参数,以使ReSharper在不为null的情况下信任这些参数,同时强制我确保在调用端检查发送到NotNull参数的内容

ReSharper静态分析示例:

现在我开始使用,它们不关心ReSharper属性,并且将触发方法体中的CA1062警告,不管我是否用
NotNull
修饰参数


在许多情况下,我更喜欢静态代码分析,而不是在运行时使用null检查和抛出ArgumentNull异常。ReSharper仍在警告我有关NotNull参数的函数调用,但我还希望在方法体中使用此属性标记分析器信任参数。

Roslyn分析器是静态代码分析器。他们不能保证代码的运行时行为

尝试对引用的可空性进行有根据的猜测


如果您希望查看Fody或PostSharp,添加注释以自动执行这些运行时检查。

Roslyn分析器是静态代码分析器。他们不能保证代码的运行时行为

尝试对引用的可空性进行有根据的猜测


如果您想查看Fody或PostSharp,添加注释以自动执行这些运行时检查。

您能分享代码示例吗?您能分享代码示例吗?我还谈到了静态代码分析,我已经更新了我的问题。即使在使用C#8.0时,也建议进行所有空值检查,因为无法保证调用方不会发送空值。我还讨论了静态代码分析,我已经更新了我的问题。即使在使用C#8.0时,也建议进行所有空值检查,因为无法保证调用方不会发送空值。