共用方式為


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