CA1710: Identificadores devem ter o correto sufixo
TypeName |
IdentifiersShouldHaveCorrectSuffix |
CheckId |
CA1710 |
<strong>Categoria</strong> |
Microsoft.Naming |
Alteração significativa |
Quebrando |
Causa
Um identificador não possui o sufixo correto.
Descrição da regra
Por convenção, os nomes de tipos que ampliam a determinados tipos de base ou que implementar determinadas interfaces ou tipos derivados desses tipos, têm um sufixo que está associado com o tipo base ou interface.
Convenções de nomenclatura fornecem um aspecto familiar a bibliotecas que se destinam ao uso com a common language runtime.Isso reduz a curva de aprendizado que é necessário para novas bibliotecas de software e aumenta a confiança do cliente que a biblioteca foi desenvolvida por alguém que tenha experiência em desenvolvimento de código gerenciado.
A tabela a seguir lista os tipos base e interfaces que associou sufixos.
Interface/tipo de base |
Sufixo |
---|---|
Atributo |
|
EventArgs |
|
Exceção |
|
Coleção |
|
Dicionário |
|
Coleção |
|
Coleção ou fila |
|
Coleção ou pilha |
|
Coleção |
|
Dicionário |
|
DataSet |
|
Coleção ou DataTable |
|
Fluxo |
|
Permissão |
|
Condição |
|
Um delegado manipulador de eventos. |
EventHandler |
Tipos que implementam ICollection e são um tipo generalizado de estrutura de dados, como, por exemplo, um dicionário, pilha ou fila, são permitidos nomes que fornecem informações importantes sobre o uso pretendido do tipo.
Tipos que implementam ICollection e são uma coleção de itens específicos têm nomes que terminam com a palavra 'Conjunto'.Por exemplo, uma coleção de Queue objetos teria o nome 'QueueCollection'.O sufixo 'Conjunto' significa que os membros da coleção podem ser enumerados, usando o foreach (For Each na Visual Basic) instrução.
Tipos que implementam IDictionary têm nomes que terminam com a palavra 'Dicionário', mesmo se o tipo também implementa IEnumerable ou ICollection.As convenções de nomeação de sufixo 'Conjunto' e 'Dicionário' Habilitar usuários para distinguir entre os seguintes padrões de enumeração de dois.
Tipos com o sufixo 'Conjunto' seguem essa enumeração.
foreach(SomeType x in SomeCollection) { }
Tipos com o sufixo 'Dicionário' seguem essa enumeração.
foreach(SomeType x in SomeDictionary.Values) { }
A DataSet objeto consiste em uma coleção de DataTable objetos, que consistem em coleções de System.Data.DataColumn e System.Data.DataRow objetos, entre outros.Essas coleções implementam ICollection por meio de base da System.Data.InternalDataCollectionBase classe.
Como corrigir violações
Renomeie o tipo de forma que ela é incluída como o termo correto.
Quando suprimir avisos
É seguro eliminar um aviso para usar o sufixo 'Conjunto' se o tipo é uma estrutura de dados generalizada, que pode ser estendida ou que manterá um conjunto arbitrário de diversos itens.Nesse caso, um nome que fornece informações importantes sobre a implementação, desempenho ou outras características da estrutura de dados pode fazer sentido (por exemplo, BinaryTree).Em casos onde o tipo representa uma coleção de um tipo específico (por exemplo, StringCollection), não suprimir um aviso desta regra porque o sufixo indica que o tipo pode ser enumerado, usando um foreach instrução.
Para outros sufixos, não suprimir um aviso da regra.O sufixo permite o uso pretendido seja evidente a partir do nome do tipo.
Regras relacionadas
CA1711: Identificadores não devem ter o sufixo incorreto