CA1714: Le enumerazioni con Flags devono avere nomi plurali
TypeName |
FlagsEnumsShouldHavePluralNames |
CheckId |
CA1714 |
Category |
Microsoft.Naming |
Breaking Change |
Breaking |
Causa
Un'enumerazione pubblica dispone dell'attributo System.FlagsAttribute e il nome non termina per "s".
Descrizione della regola
Ai tipi contrassegnati con FlagsAttribute sono assegnati nomi plurali perché tale attributo indica che è possibile specificare più valori. Ad esempio, un'enumerazione che definisce i giorni della settimana potrebbe essere destinata all'utilizzo in un'applicazione in cui è possibile specificare più giorni. Questa enumerazione dovrà contenere l'attributo FlagsAttribute e potrebbe essere denominata "Days". Un'enumerazione simile che consenta di specificare un solo giorno, non conterrà tale attributo e potrebbe essere denominata "Day".
Le convenzioni di denominazione forniscono un aspetto comune alle librerie che si avvalgono di Common Language Runtime. In questo modo si riduce la curva di apprendimento necessaria per le nuove librerie software e i clienti possono confidare nel fatto che la libreria è stata sviluppata da un esperto nello sviluppo di codice gestito.
Come correggere le violazioni
Cambiare il nome dell'enumerazione in una parola plurale o rimuovere l'attributo FlagsAttribute se non è consentito specificare più valori di enumerazione alla volta.
Esclusione di avvisi
L'esclusione di una violazione è sicura se il nome è una parola plurale, ma non termina per "s". Se, ad esempio, l'enumerazione di più giorni descritta in precedenza fosse denominata "DaysOfTheWeek", verrebbe violata la logica della regola, ma non lo scopo. Tali violazioni devono essere escluse.
Regole correlate
CA1027: Contrassegnare le enumerazioni con FlagsAttribute
CA2217: Non contrassegnare le enumerazioni con FlagsAttribute