Скажем, у меня есть перечисление всех валют:
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.")]
on CurrencyType
. Не работает.