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

