CA1005: Evitar o excesso parâmetros em tipos genéricos

TypeName

AvoidExcessiveParametersOnGenericTypes

CheckId

CA1005

<strong>Categoria</strong>

Microsoft.design

Alteração significativa

Quebrando

Causa

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

Descrição da regra

Quanto mais digite os parâmetros que contém um tipo genérico, mais difícil é saber e lembre-se de que cada tipo de parâmetro representa. É geralmente evidente com o parâmetro de um tipo, como em List<T>e em determinados casos com dois parâmetros de tipo, como em Dictionary<TKey, TValue>. Se existirem em mais de dois parâmetros de tipo, a dificuldade torna-se muito grande para a maioria dos usuários (por exemplo, TooManyTypeParameters<T, K, V> em C# ou TooManyTypeParameters(Of T, K, V) na Visual Basic).

Como corrigir violações

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

Quando suprimir avisos

Não suprimir um aviso da regra, a menos que o design absolutamente requer mais de dois parâmetros de tipo. Fornecer uma sintaxe fácil de entender e usar os genéricos reduz o tempo que é necessário para aprender e aumenta a taxa de adoção de novas bibliotecas.

Regras relacionadas

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

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

CA1002: Não expõem listas genéricas

CA1006: Não se aninham tipos genéricos em assinaturas de membro

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

CA1003: Usar instâncias do manipulador de evento genérico

CA1007: Use genéricos onde for apropriado

Consulte também

Referência

Generics (C# Programming Guide)