Как игнорировать определенное правило анализа кода VS (скажем, CA1305: Microsoft.Globalization) в:
- Метод?
- Класс?
- Пространство имен?
(Предположим, что все эти варианты возможны.)
Как игнорировать определенное правило анализа кода VS (скажем, CA1305: Microsoft.Globalization) в:
(Предположим, что все эти варианты возможны.)
Вы можете использовать атрибут SupressMessage следующим образом:
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "newValue+1", Justification = "The reason I think its acceptable in this case")]
void SomeMethod()
{
// Some code that would normal cause this Code Analysis message
}
О методе, свойстве, типе и т.д.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA1305:Microsoft.Globalization")]
(для краткости) для метода, но предупреждение все равно появилось. Любые идеи?
- person Alex Angas; 18.09.2009
Используйте 1_
Вы можете поместить прагму в соответствующую область в исходном файле (т.е. класс, метод)
См. http://msdn.microsoft.com/en-us/library/2c8f766e(VS.80).aspx
#pragma warning(suppress: CA1305)
и безуспешно. Идеи?
- person Alex Angas; 18.09.2009
Я скачал FXCop, как было предложено в комментарии @TrueWill к ответу @AnthonyWJones. Это дало мне SuppressMessage:
[SuppressMessage("Microsoft.Globalization",
"CA1305:SpecifyIFormatProvider",
MessageId = "System.String.Format(System.String,System.Object)")]
Это было намного сложнее, чем должно было быть. Что случилось с интеграцией FXCop в Visual Studio? Спасибо ответившим за помощь.