通常,如果我有这个:
public string Foo(string text)
{
return text.Substring(3);
}
CA1062: Validate arguments of public methods
我会从代码分析中得到一个。它本来可以通过修改代码来解决的:
public string Foo(string text)
{
if (text == null)
throw new ArgumentNullException("text");
else if (string.IsNullEmptyOrWhiteSpace(text)
throw new ArgumentException("May not be empty or white space", "text")
else if (text.Length < 3)
throw new ArgumentException("Must be at least 3 characters long", "text");
return text.Substring(3);
}
但现在我想用另一种方法来做这个验证:
public string Foo(string text)
{
Validator.WithArgument(text, "text").NotNullEmptyOrWhitespace().OfMinLength(3);
return text.Substring(3);
}
由于该方法验证了参数,因此代码分析规则得到满足,但您仍然会收到CA1062
警告。有没有一种方法可以抑制此类情况的代码分析规则,而无需每次手动抑制它们或关闭特定的代码分析规则?