Non utilizzare nomi di tipo come prefisso nei valori di enumerazione
Aggiornamento: novembre 2007
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 per apprendere una nuova libreria software e i clienti possono confidare nel fatto che la libreria è stata sviluppata da un esperto nello sviluppo di codice gestito.
Correzione di 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
Gli identificatori non devono contenere un suffisso non corretto
Sostituire gli enum con FlagsAttribute
Non contrassegnare le enumerazioni con FlagsAttribute