Игнорировать правила анализа кода в Visual Studio - PullRequest
6 голосов
/ 18 сентября 2009

Как игнорировать конкретное правило анализа кода VS (скажем, CA1305: Microsoft.Globalization) в пределах:

  • Метод
  • Класс
  • Пространство имен

(Предполагая, что все эти варианты возможны.)

Ответы [ 3 ]

5 голосов
/ 18 сентября 2009

Вы можете использовать атрибут 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
}

По методу, свойству, типу и т. Д.

1 голос
/ 21 сентября 2009

Я скачал FXCop в соответствии с предложением @ TrueWill по поводу ответа @AnthonyWJones Это дало мне сообщение SuppressMessage:

[SuppressMessage("Microsoft.Globalization",
    "CA1305:SpecifyIFormatProvider",
    MessageId = "System.String.Format(System.String,System.Object)")]

Это было намного сложнее, чем следовало бы. Что случилось с этой интеграцией FXCop в Visual Studio? Спасибо ответчикам за помощь.

0 голосов
/ 18 сентября 2009

Использование #pragma warning(suppress: Cxxxx)

Вы можете поместить прагму в соответствующую область в исходном файле (т.е. класс, метод)

См. http://msdn.microsoft.com/en-us/library/2c8f766e(VS.80).aspx

...