¿Cómo suprimir mensajes de análisis de código para todos los miembros de tipo?

Digamos que tengo una enumeración de todas las monedas:

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,

    ...
}

El análisis de código VS 2015 sigue quejándose de 100 violaciones deCA1709 para cada miembro individual.

Esta es una regla útil en sí misma, y no quiero deshabilitarla; Sin embargo, no es de mucha ayuda en este caso específico, ya queCurrencyType es público y se usa en muchos otros proyectos.

Puedo suprimir el mensaje; sin embargo, VS solo me ofrece suprimirlo para cada miembro individual, lo que significa que tendré 100[SuppressMessage(...)] líneas, que saturarán el código.

¿Hay alguna forma de suprimir todo CA1709 para todosCurrencyType miembros, sin suprimirlo para el resto del código en este proyecto, sin tener que escribir 100[SuppressMessage(...)]?

Hay unScope parámetro deSuppressMessageAttribute, pero la documentación no está clara al respecto. He intentado colocar ambos

[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Scope = "type", Justification = "Currency codes are defined in ISO standard.")]

y

[SuppressMessage("Microsoft.Naming", "CA1709:IdentifiersShouldBeCasedCorrectly", Scope = "member", Justification = "Currency codes are defined in ISO standard.")]

enCurrencyType sí mismo. Tampoco funciona.

Respuestas a la pregunta(2)

Su respuesta a la pregunta