Скажем, у меня есть перечисление всех валют:Как подавить сообщения анализа кода для всех членов типа?
public enum CurrencyType
{
/// <summary>
/// United Arab Emirates dirham
/// </summary>
[EnumMember]
AED = 784,
/// <summary>
/// Afghan afghani
/// </summary>
[EnumMember]
AFN = 971,
/// <summary>
/// Albanian lek
/// </summary>
[EnumMember]
ALL = 008,
...
}
VS 2015 анализ кода продолжает жалуясь 100 нарушений CA1709 для каждого отдельного члена.
Это полезное правило само по себе, и я не хочу его отключать; но в этом конкретном случае это не очень помогает, так как CurrencyType
является общедоступным и используется во множестве других проектов.
Я могу подавить сообщение; однако VS предлагает только подавить его для каждого отдельного участника - это означает, что у меня будет 100 линий [SuppressMessage(...)]
, что загромождает код.
Есть ли способ подавить все CA1709 для всех членов CurrencyType
, не подавляя его для всего остального кода в этом проекте, без необходимости писать 100 [SuppressMessage(...)]
?
Параметр Scope
SuppressMessageAttribute
, но документация на нем неясна. Я попытался размещения как
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Scope = "type", Justification = "Currency codes are defined in ISO standard.")]
и
[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Scope = "member", Justification = "Currency codes are defined in ISO standard.")]
на самом CurrencyType
. Не работает.
Является ли это перечисление в файле само по себе? Если это так, вы можете иметь стиль Cop [игнорировать файл] (http://sethflowers.com/blog/force-stylecop-to-ignore-a-file/) –
Вы можете добавить их в словарь анализа кода, признанные как капитализированные сокращения. https://msdn.microsoft.com/en-us/library/bb514188.aspx – jessehouwing
@ScottChamberlain Нет такой проблемы с StyleCop, кажется, что 'SuppressMessageAttribute' на типе меняет поведение анализа для всех членов. CA1709 - это встроенное предупреждение VS Code Analysis (FxCop), а не StyleCop. – penartur