Condividi tramite


Solo le enumerazioni con FlagsAttribute devono avere nomi plurali

Aggiornamento: novembre 2007

TypeName

OnlyFlagsEnumsShouldHavePluralNames

CheckId

CA1717

Categoria

Microsoft.Naming

Breaking Change

Breaking

Causa

Il nome di un'enumerazione visibile esternamente termina con una parola plurale e l'enumerazione non è contrassegnata con l'attributo System.FlagsAttribute.

Descrizione della regola

In base alle convenzioni di denominazione, un nome plurale in un'enumerazione indica che è possibile specificare più valori di enumerazione alla volta. La presenza di FlagsAttribute indica ai compilatori che l'enumerazione deve essere considerata come un campo di bit che consente l'esecuzione di operazioni bit per bit sull'enumerazione.

Se è possibile specificare un solo valore di enumerazione alla volta, il nome dell'enumerazione dovrà essere una parola singolare. 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 il tempo necessario per apprendere una nuova libreria software e i clienti possono confidare nel fatto che la libreria è stata sviluppata da un esperto nello sviluppo di codice gestito.

Correzione di violazioni

Cambiare il nome dell'enumerazione in una parola singolare o aggiungere l'attributo FlagsAttribute.

Esclusione di avvisi

L'esclusione di un avviso da questa regola è sicura se il nome termina con una parola singolare.

Regole correlate

Le enumerazioni con Flags devono avere nomi plurali

Sostituire gli enum con FlagsAttribute

Non contrassegnare le enumerazioni con FlagsAttribute

Vedere anche

Riferimenti

System.FlagsAttribute