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 tem 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 a 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 um dicionário, a pilha ou a 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'. A coleção sufixo 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. A coleção e 'Dicionário' convenções de nomenclatura do sufixo habilitar usuários distinguir entre os seguintes padrões de enumeração de dois.
Tipos com a coleção sufixo seguem essa enumeração.
foreach(SomeType x in SomeCollection) { }
Tipos com o dicionário sufixo seguem essa enumeração.
foreach(SomeType x in SomeDictionary.Values) { }
A DataSet objeto consiste em uma coleção de DataTable objetos, que consistem em conjuntos 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
Renomear o tipo de modo que ela é incluída como o termo correto.
Quando suprimir avisos
É seguro suprimir um aviso para usar a coleção Se o tipo é uma estrutura de dados generalizada, que podem ser estendidos ou que manterá um conjunto arbitrário de diversos itens do sufixo. Nesse caso, um nome que fornece informações significativas 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 de que esta regra porque o sufixo indica que o tipo pode ser enumerado, usando um foreach instrução.
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