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