前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CA1717:只有 FlagsAttribute 枚举应采用复数形式的名称

CA1717:只有 FlagsAttribute 枚举应采用复数形式的名称

作者头像
呆呆
发布2022-02-19 18:42:22
3500
发布2022-02-19 18:42:22
举报
文章被收录于专栏:centosDaicentosDai

规则 ID

CA1717

类别

命名

修复是中断修复还是非中断修复

重大

原因

枚举的名称以复数形式结尾,并且枚举未标记 System.FlagsAttribute 特性。

默认情况下,此规则仅查看外部可见的枚举,但这是可配置的。

规则说明

命名约定规定,复数形式的枚举名称表示可以同时指定多个枚举值。 FlagsAttribute 告诉编译器,应将枚举视为对枚举启用位运算的位字段。

如果一次只能指定一个枚举值,则枚举的名称应为单数形式。 例如,定义星期的枚举可能适用于可指定多天的应用程序。 此枚举应该具有 FlagsAttribute,并且可称为“Days”。 类似的枚举如果只允许指定一天,则不具有该属性,可以称为“Day”。

命名约定为面向公共语言运行时的库提供常见外观。 这缩短了学习新软件库所需的时间,让客户更加相信该库是由拥有开发托管代码专业知识的人员所开发。

如何解决冲突

将枚举名称设置为单数形式或添加 FlagsAttribute。

何时禁止显示警告

如果名称以单数形式结尾,可以禁止显示规则发出的警告。

配置代码以进行分析

使用下面的选项来配置代码库的哪些部分要运行此规则。

包含特定的 API 图面

你可以仅为此规则、为所有规则或为此类别(命名)中的所有规则配置此选项。 有关详细信息,请参阅代码质量规则配置选项。

包含特定的 API 图面

你可以根据代码库的可访问性,配置要针对其运行此规则的部分。 例如,若要指定规则应仅针对非公共 API 图面运行,请将以下键值对添加到项目中的 .editorconfig 文件:

dotnet_code_quality.CAXXXX.api_surface = private, internal

相关规则

CA1714:Flags 枚举应采用复数形式的名称

CA1027:用 FlagsAttribute 标记枚举

CA2217:不要使用 FlagsAttribute 标记枚举

另请参阅

System.FlagsAttribute

枚举设计

本文系外文翻译,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系外文翻译前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档