Condividi tramite


Gli identificatori non devono contenere nomi di tipo

Aggiornamento: novembre 2007

TypeName

IdentifiersShouldNotContainTypeNames

CheckId

CA1720

Categoria

Microsoft.Naming

Breaking Change

Breaking

Causa

Il nome di un parametro in un membro visibile esternamente contiene un nome del tipo di dati.

oppure

Il nome di un membro visibile esternamente contiene un nome del tipo di dati specifico del linguaggio.

Descrizione della regola

I nomi dei parametri e dei membri sono prevalentemente utilizzati per indicare il loro significato piuttosto che per descriverne il tipo, il quale viene in genere fornito dagli strumenti di sviluppo. Per i nomi dei membri, se è necessario utilizzare un nome del tipo di dati, utilizzare un nome indipendente dal linguaggio anziché uno specifico del linguaggio. Anziché il nome del tipo C# 'int', ad esempio, utilizzare il nome del tipo di dati indipendente dal linguaggio Int32.

Ogni token discreto nel nome del parametro o del membro viene confrontato con i seguenti nomi del tipo di dati specifici del linguaggio senza distinzione tra maiuscole e minuscole:

  • Bool

  • WChar

  • Int8

  • UInt8

  • Short

  • UShort

  • Int

  • UInt

  • Integer

  • UInteger

  • Long

  • ULong

  • Unsigned

  • Signed

  • Float

  • Float32

  • Float64

I nomi del parametro vengono inoltre confrontati con i seguenti nomi del tipo di dati indipendenti dal linguaggio senza distinzione tra maiuscole e minuscole:

  • Object

  • Obj

  • Boolean

  • Char

  • String

  • SByte

  • Byte

  • UByte

  • Int16

  • UInt16

  • Int32

  • UInt32

  • Int64

  • UInt64

  • IntPtr

  • Ptr

  • Pointer

  • UInptr

  • UPtr

  • UPointer

  • Single

  • Double

  • Decimal

  • Guid

Correzione di violazioni

Se generate rispetto a un parametro:

Sostituire l'identificatore del tipo di dati nel nome del parametro con un termine che ne descrive meglio il significato o con un termine più generico, ad esempio 'value'.

Se generate rispetto a un membro:

Sostituire l'identificatore del tipo di dati specifico del linguaggio nel nome del membro con un termine che ne descrive meglio il significato, con un equivalente indipendente dal linguaggio oppure con un termine più generico, ad esempio 'value'.

Esclusione di avvisi

L'utilizzo occasionale di nomi di parametri e membri basati sul tipo potrebbe essere appropriato. Tuttavia, per i nuovi sviluppi, non vi sono scenari noti in cui sia necessario escludere un avviso da questa regola. Per le librerie fornite in precedenza, potrebbe essere necessario escludere un avviso da questa regola.

Regole correlate

Gli identificatori devono essere digitati correttamente con distinzione tra maiuscole e minuscole

Gli identificatori non si devono differenziare solo in base alle maiuscole e minuscole

Gli identificatori non devono contenere caratteri di sottolineatura

I nomi dei parametri non devono corrispondere ai nomi dei membri