Evitare i nomi di tipi specifici di linguaggio nei parametri

TypeName

AvoidLanguageSpecificTypeNamesInParameters

CheckId

CA1718

Category

Microsoft.Naming

Breaking Change

Breaking

Causa

Il nome di un parametro in un membro visibile esternamente contiene un nome di tipo specifico di linguaggio.

Descrizione della regola

Ogni parola concatenata in un nome di parametro viene confrontata con i seguenti nomi di tipi specifici di linguaggio, senza distinzione tra maiuscole e minuscole:

  • bool

  • float

  • float32

  • float64

  • int

  • int8

  • integer

  • long

  • short

  • uint

  • ulong

  • unsigned

  • ushort

  • wchar

I nomi di tipo specifici di linguaggio possono non essere intuitivi per sviluppatori che utilizzano altri linguaggi. Se è necessario utilizzare un nome di tipo, preferire un nome di tipo universale anziché un nome di tipo specifico del linguaggio. Ad esempio, invece del nome di tipo C# "ushort" utilizzare il nome di tipo universale UInt16.

Correzione di violazioni

Selezionare un nome di parametro che non contenga uno dei nomi di tipo elencati in precedenza.

Esclusione di avvisi

Per i nuovi sviluppi, non vi sono scenari noti in cui sia necessario escludere un avviso da questa regola. Per le librerie fornite, può essere necessario escludere un avviso da questa regola.

Regole correlate

Gli acronimi lunghi devono essere scritti con le maiuscole/minuscole pascal

Gli acronimi brevi devono essere scritti in maiuscolo

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

Evitare i nomi di tipi nei parametri