共用方式為


CA1712:不要使用型別名稱做為列舉值的前置字元

型別名稱

DoNotPrefixEnumValuesWithTypeName

CheckId

CA1712

分類

Microsoft.Naming

中斷變更

中斷

原因

列舉 (Enumeration) 包含的成員名稱會以列舉的型別名稱做為開頭。

規則描述

因為型別資訊必須由開發工具提供,所以列舉型別成員的名稱不能以型別名稱做為開頭。

命名慣例會為針對 Common Language Runtime 的程式庫提供通用的外觀。如此可縮短學習新軟體程式庫的時間,並讓客戶深信程式庫是由學有專長的人員以不斷開發的 Managed 程式碼開發而成。

如何修正違規

若要修正此規則的違規情形,請從列舉型別成員移除型別名稱或前置字元。

隱藏警告的時機

請勿隱藏此規則的警告。

範例

在下列範例中,程式碼會顯示命名錯誤的列舉型別,後面跟著正確的版本。

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:不要以 FlagsAttribute 標記列舉

請參閱

參考

System.Enum