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

System.Attribute

Atributo

System.EventArgs

EventArgs

System.Exception

Exceção

System.Collections.ICollection

Coleção

System.Collections.IDictionary

Dicionário

System.Collections.IEnumerable

Coleção

System.Collections.Queue

Coleção ou fila

System.Collections.Stack

Coleção ou a pilha

System.Collections.Generic.ICollection<T>

Coleção

System.Collections.Generic.IDictionary<TKey, TValue>

Dicionário

System.Data.DataSet

DataSet

System.Data.DataTable

Coleção ou DataTable

System.IO.Stream

Fluxo

System.Security.IPermission

Permissão

System.Security.Policy.IMembershipCondition

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

Consulte também

Referência

Diretrizes de uso do atributo

Conceitos

Eventos e representantes