Compartilhar via


CA1005: evitar parâmetros excessivos em tipos genéricos

TypeName

AvoidExcessiveParametersOnGenericTypes

CheckId

CA1005

Categoria

Microsoft.Design

Alteração Significativa

Quebra

Causa

Um tipo genérico externamente visível tiver mais de dois parâmetros de tipo.

Descrição da Regra

Mais parâmetros de tipo que um tipo genérico contém, é mais difícil saber e lembrar-se do que cada parâmetro de tipo representa.Geralmente é óbvio com um parâmetro de tipo, como em List<T>e, em determinados casos com dois parâmetros de tipo, como em Dictionary<TKey, TValue>.Se mais de dois parâmetros de tipo existirem, dificuldade fica muito grande para a maioria dos usuários (por exemplo, TooManyTypeParameters<T, K, V> em C# ou TooManyTypeParameters(Of T, K, V) em Visual Basic).

Como Corrigir Violações

Para corrigir uma violação desta regra, alterar o design para não usar mais de dois parâmetros de tipo.

Quando Suprimir Alertas

Não suprima um aviso desta regra a menos que o design exigir menos mais de dois parâmetros de tipo.Fornecer produtos genéricas em uma sintaxe que seja fácil de entender e em uso reduz o tempo necessário para conhecer e aumenta a taxa de adoção de novas bibliotecas.

Regras Relacionadas

CA1010: as coleções devem implementar a interface genérica

CA1000: não declarar membros estáticos em tipos genéricos

CA1002: não expor listas genéricas

CA1006: não aninhar tipos genéricos em assinaturas de membro

CA1004: os métodos genéricos devem fornecer o parâmetro de tipo

CA1003: usar instâncias do manipulador de eventos genéricos

CA1007: usar genéricos quando apropriado

Consulte também

Referência

Genéricos (Guia de Programação em C#)