CA1712:列挙型値を型名のプレフィックスにしません
プロパティ | 値 |
---|---|
ルール ID | CA1712 |
Title | 列挙型値を型名のプレフィックスにしません |
[カテゴリ] | 名前を付ける |
修正が中断ありか中断なしか | あり |
.NET 9 では既定で有効 | いいえ |
原因
列挙型に、列挙型の型名で始まる名前を持つメンバーが含まれています。
規則の説明
型情報は開発ツールで表示されるため、列挙型のメンバー名には、型名のプレフィックスを付けません。
名前付け規則では、共通言語ランタイムをターゲットとするライブラリの統一的な名前の付け方が規定されています。 これにより、新しいソフトウェア ライブラリを習得するまでの時間を短縮でき、マネージド コード開発の専門家によってライブラリが開発されたという信頼を顧客に与えることができます。
違反の修正方法
この規則違反を修正するには、列挙型メンバーから型名のプレフィックスを削除します。
どのようなときに警告を抑制するか
この規則による警告は抑制しないでください。
例
次の例では、正しくない名前を付けた列挙型の後に修正後のバージョンを示します。
public enum DigitalImageMode
{
DigitalImageModeBitmap = 0,
DigitalImageModeGrayscale = 1,
DigitalImageModeIndexed = 2,
DigitalImageModeRGB = 3
}
public enum DigitalImageMode2
{
Bitmap = 0,
Grayscale = 1,
Indexed = 2,
RGB = 3
}
Imports System
Namespace ca1712
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
関連規則
- CA1711:識別子は、不適切なサフィックスを含むことはできません
- CA1027:列挙型を FlagsAttribute に設定します
- CA2217:列挙型を FlagsAttribute に設定しません
分析するコードを構成する
次のオプションを使用して、コードベースのどの部分に対してこの規則を実行するか構成します。
このオプションを構成できる対象は、この規則だけ、それを適用するすべての規則、それを適用するこのカテゴリ (名前付け) のすべての規則のいずれかです。 詳細については、「コード品質規則の構成オプション」を参照してください。
列挙値のプレフィックス トリガー
規則をトリガーするために必要な列挙値の数を構成できます。 たとえば、列挙型の名前で始まる列挙値が 1 つ以上ある場合に規則がトリガーされるように指定するには、プロジェクトの .editorconfig ファイルに次のキーと値のペアを追加します。
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue
例 :
オプションの値 | まとめ |
---|---|
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AnyEnumValue |
列挙型の値のいずれかが列挙型の名前で始まる場合、規則がトリガーされます。 |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = AllEnumValues |
列挙型の値のすべてが列挙型の名前で始まる場合、規則がトリガーされます。 |
dotnet_code_quality.CA1712.enum_values_prefix_trigger = Heuristic |
規則は、デフォルトのヒューリスティックを使用してトリガーされます。つまり、列挙値の 75% 以上が列挙型の名前で始まる場合に発生します。 |
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET