Condividi tramite


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 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

Vedere anche

Riferimenti

System.Enum