Поделиться через


CA1717: только перечисления FlagsAttribute должны иметь имена во множественном числе

TypeName

OnlyFlagsEnumsShouldHavePluralNames

CheckId

CA1717

Категория

Microsoft.Naming

Критическое изменение

Критическое изменение

Причина

Имя перечисления, доступного для внешнего кода, оканчивается на слово во множественном числе, однако это перечисление не помечено атрибутом FlagsAttribute.

Описание правила

Согласно контекстам именования, множественное число в имени перечисления указывает, что одновременно можно выбрать несколько значений перечисления.Атрибут FlagsAttribute сообщает компилятору, что перечисление должно рассматриваться как битовое поле, которое позволяет выполнять побитовые операции над перечислением.

Если одновременно можно указать только одно значение перечисления, имя перечисления должно быть словом в единственном числе.Например, перечисление, определяющее дни недели, может быть предназначено для приложения, в котором указывается несколько дней.Это перечисление следует пометить атрибутом FlagsAttribute и присвоить ему имя "Days".Похожее перечисление, которое позволяет указать только один день, не будет помечено данным атрибутом, и его можно назвать "Day".

Соглашения об именах обеспечивают единообразие библиотек, предназначенных для выполнения в среде CLR.Это позволяет сократить время обучения, необходимое для освоения новой библиотеки программного обеспечения, и укрепить уверенность клиента в том, что библиотека была разработана опытным разработчиком управляемого кода.

Устранение нарушений

Задайте для перечисления имя в единственном числе или добавьте атрибут FlagsAttribute.

Отключение предупреждений

Отключение предупреждений о нарушении этого правила является безопасным в том случае, если имя заканчивается словом в единственном числе.

Связанные правила

CA1714: имена перечислений флагов должны быть во множественном числе

CA1027: следует помечать перечисления атрибутом FlagsAttribute

CA2217: не следует помечать перечисления атрибутом FlagsAttribute

См. также

Ссылки

FlagsAttribute

Другие ресурсы

Enumeration Design