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

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 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, 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

Consulte também

Referência

Attribute Usage Guidelines

Outros recursos

Delegados e eventos