在我们的代码库中,我们有一系列自定义错误检查函数(例如在这里列出的函数),可以更简洁地检查参数。例如,要检查一个参数是否为 null,我使用以下代码:
这种方法的一个缺点是,R#会在将来使用该值时发出“可能的NullReferenceException”警告,因为它不足够聪明,无法检测到这是空检查(或者至少是如果theArgument为空将失败的东西)。有没有办法表明这种方法检查参数是否为空?例如,当我尝试在这样的值上运行静态扩展Select()时,R#会警告我“可能将null赋值给标记为NotNull属性的实体”,但我找不到任何关于这种属性的文档,也没有在Enumerable.Select()的参考源中看到它。
Throw.IfNull(theArgument, "theArgument");
这种方法的一个缺点是,R#会在将来使用该值时发出“可能的NullReferenceException”警告,因为它不足够聪明,无法检测到这是空检查(或者至少是如果theArgument为空将失败的东西)。有没有办法表明这种方法检查参数是否为空?例如,当我尝试在这样的值上运行静态扩展Select()时,R#会警告我“可能将null赋值给标记为NotNull属性的实体”,但我找不到任何关于这种属性的文档,也没有在Enumerable.Select()的参考源中看到它。