CA1712:不要将类型名用作枚举值的前缀
类型名 |
DoNotPrefixEnumValuesWithTypeName |
CheckId |
CA1712 |
类别 |
Microsoft.Naming |
是否重大更改 |
是 |
原因
某枚举中包含的一个成员的名称以枚举的类型名称开头。
规则说明
枚举成员的名称不能以类型名称作为前缀,因为类型信息将由开发工具提供。
命名约定为所有针对公共语言运行时的库提供了通用的外观。这缩短了学习新软件库所需的时间,并使客户进一步认为该软件库是由某位具有开发托管代码专门技术的人员所开发。
如何解决冲突
要修复与该规则的冲突,请从枚举成员中移除类型名称前缀。
何时禁止显示警告
不要禁止显示此规则发出的警告。
示例
下面的示例演示不正确命名的枚举,随后列出已更正的版本。
Imports System
Namespace NamingLibrary
Enum DigitalImageMode
DigitalImageModeBitmap = 0
DigitalImageModeGrayscale = 1
DigitalImageModeIndexed = 2
DigitalImageModeRGB = 3
End Enum
Enum DigitalImageMode2
Bitmap = 0
Grayscale = 1
Indexed = 2
RGB = 3
End Enum
End Namespace
using System;
namespace NamingLibrary
{
public enum DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
}
public enum DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
}
}
using namespace System;
namespace NamingLibrary
{
public enum class DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
};
public enum class DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
};
}
相关规则
CA2217:不要使用 FlagsAttribute 标记枚举