我无法评估 CA1062(验证公共方法的参数)。
根据此屏幕截图,我创建了一个 .Net Standard 2.0 C# 类库并安装Microsoft.CodeQuality.Analyzers
了其他几个 nuget 包:
根据图像,我还在项目的规则集中启用了 CA1062:
我创建了这个类来测试 CA1062(验证公共方法的参数)是否评估:
public class Person
{
public String Name { get; }
public Person(String name)
{
this.Name = name;
}
public void DeclareWarOn(Person enemy)
{
String enemyName = enemy.Name;
Console.WriteLine($"{this.Name} declared war on {enemyName}");
}
}
在DeclareWarOn
方法中,enemy
从不检查参数的null
值,而是在行中使用String enemyName = enemy.Name;
这是假设触发CA1062,但它没有被触发。
其他规则会评估。例如,我创建了一个internal
异常类,如下所示:
internal class MyException : Exception
{
...
}
这确实触发了它的相关代码分析警告(CA1064)。但是我无法让 CA1062 进行评估。