Condividi tramite


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

Vedere anche

Riferimenti

System.Enum