CA1712: Keine Typnamen als Präfixe für Enumerationswerte verwenden
TypeName |
DoNotPrefixEnumValuesWithTypeName |
CheckId |
CA1712 |
Kategorie |
Microsoft.Naming |
Unterbrechende Änderung |
Breaking |
Ursache
Eine Enumeration enthält einen Member, dessen Name mit dem Typnamen der Enumeration beginnt.
Regelbeschreibung
Den Namen von Enumationsmembern wird der Typname nicht als Präfix vorangestellt, weil die Typinformationen von den Entwicklungswerkzeugen bereitgestellt werden sollen.
Durch Benennungskonventionen erhalten Bibliotheken, die auf die Common Language Runtime abzielen, ein einheitliches Erscheinungsbild. Dadurch wird der Lernaufwand für neue Softwarebibliotheken verringert. Zudem wird das Kundenvertrauen dahingehend gestärkt, dass die Bibliothek von einem erfahrenen Entwickler für verwalteten Code erstellt wurde.
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, entfernen Sie das Typnamenpräfix aus dem Enumerationsmember.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel.
Beispiel
Das folgende Beispiel zeigt eine falsch benannte Enumeration und anschließend die korrigierte Version.
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
};
}
Verwandte Regeln
CA1711: Bezeichner sollten kein falsches Suffix aufweisen
CA1027: Enumerationen mit FlagsAttribute markieren
CA2217: Enumerationen nicht mit FlagsAttribute markieren