Partager via


CA1712 : N'ajoutez pas le nom de type en guise de préfixe à des valeurs enum

TypeName

DoNotPrefixEnumValuesWithTypeName

CheckId

CA1712

Catégorie

Microsoft.Naming

Modification avec rupture

Oui

Cause

Une énumération contient un membre dont le nom commence par le nom de type de l'énumération.

Description de la règle

Les noms des membres de l'énumération n'ont pas pour préfixe le nom de type car les informations de type sont censées être fournies par les outils de développement.

Les conventions d'affectation des noms confèrent un aspect commun aux bibliothèques qui ciblent le Common Language Runtime. Elles réduisent le temps nécessaire pour apprendre une nouvelle bibliothèque de logiciels et confirment au client que la bibliothèque a été développée par une personne compétente en matière de développement de code managé.

Comment corriger les violations

Pour corriger une violation de cette règle, supprimez le préfixe de nom de type du membre de l'énumération.

Quand supprimer les avertissements

Ne supprimez aucun avertissement de cette règle.

Exemple

L'exemple suivant présente une énumération incorrectement nommée suivie de la version corrigée.

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
   };
}

Règles connexes

CA1711 : Les identificateurs ne doivent pas porter un suffixe incorrect

CA1027 : Marquer les enums avec FlagsAttribute

CA2217 : Ne pas marquer les enums avec FlagsAttribute

Voir aussi

Référence

System.Enum