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