Normalnie jeśli miałbym to:Jak niech Code Analysis podnieść, że argument ten został zatwierdzony w nazwie metody
public string Foo(string text)
{
return text.Substring(3);
}
bym dostał CA1062: Validate arguments of public methods
z analizy kodu. Byłoby zostały ustalone poprzez modyfikację kodu jako takie:
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);
}
Ale teraz chcę użyć innego środka robi to Walidacja:
public string Foo(string text)
{
Validator.WithArgument(text, "text").NotNullEmptyOrWhitespace().OfMinLength(3);
return text.Substring(3);
}
ponieważ metoda sprawdza argument reguła analizy kodu jest spełnione, ale nadal otrzymujesz ostrzeżenie o wartości CA1062
. Czy istnieje sposób na zahamowanie reguły Code Analysis dla takich przypadków bez ręcznego ich wyłączania za każdym razem lub wyłączania tej konkretnej reguły analizy kodu?