Keine Typnamen als Präfixe für Enumerationswerte verwenden
Aktualisiert: November 2007
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 ausgerichtet sind, 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.
Behandlung 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
Bezeichner sollten kein falsches Suffix aufweisen
Enumerationen mit FlagsAttribut markieren
Enumerationen nicht mit FlagsAttribute markieren