CA1712: enum 値を型名のプレフィックスにしません
TypeName |
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
};
}
関連規則
CA1711: 識別子は、不適切なサフィックスを含むことはできません
CA1027: FlagsAttribute で列挙値をマークします
CA2217: enums を FlagsAttribute に設定しません