CA1712: Non utilizzare nomi di tipo come prefisso nei valori di enumerazione
TypeName |
DoNotPrefixEnumValuesWithTypeName |
CheckId |
CA1712 |
Category |
Microsoft.Naming |
Breaking Change |
Breaking |
Causa
Un'enumerazione contiene un membro il cui nome inizia con il nome di tipo dell'enumerazione.
Descrizione della regola
I nomi dei membri di enumerazione non hanno come prefisso il nome del tipo poiché si prevede che le informazioni sul tipo vengano fornite dagli strumenti di sviluppo.
Le convenzioni di denominazione forniscono un aspetto comune alle librerie che si avvalgono di Common Language Runtime.In questo modo, si riduce il tempo necessario all'apprendimento di una nuova libreria software e i clienti possono confidare nel fatto che la libreria sia stata sviluppata da esperti nello sviluppo di codice gestito.
Come correggere le violazioni
Per correggere una violazione di questa regola, rimuovere il prefisso del nome di tipo dal membro di enumerazione.
Esclusione di avvisi
Non escludere un avviso da questa regola.
Esempio
Nell'esempio riportato di seguito viene illustrata un'enumerazione denominata in modo errato e la versione corretta.
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
};
}
Regole correlate
CA1711: Gli identificatori non devono contenere un suffisso non corretto
CA1027: Contrassegnare le enumerazioni con FlagsAttribute
CA2217: Non contrassegnare le enumerazioni con FlagsAttribute