CA1005: Evite parámetros excesivos en tipos genéricos
Nombre de tipo |
AvoidExcessiveParametersOnGenericTypes |
Identificador de comprobación |
CA1005 |
Categoría |
Microsoft.Design |
Cambio problemático |
Sí |
Causa
Un tipo genérico visible externamente tiene más de dos parámetros type.
Descripción de la regla
Cuantos más parámetros type contenga un tipo genérico, más difícil resulta saber y recordar qué representa cada uno de ellos. Normalmente, esto resulta evidente con los parámetros de tipo, como en List<T>, y en algunos casos con dos parámetros de tipo, como en Dictionary<TKey, TValue>. Si existen más de dos tipos de parámetros, la dificultad se vuelve demasiado grande para la mayoría de los usuarios (por ejemplo, TooManyTypeParameters<T, K, V> en C# o TooManyTypeParameters(Of T, K, V) en Visual Basic).
Cómo corregir infracciones
Para corregir una infracción de esta regla, cambie el diseño de modo que no se utilicen más de dos parámetros type.
Cuándo suprimir advertencias
No suprima ninguna advertencia de esta regla a menos que el diseño requiera absolutamente más de dos parámetros type. Al proporcionar genéricos con una sintaxis fácil de entender y utilizar se reduce el tiempo necesario de aprendizaje y se aumenta la velocidad de adopción de nuevas bibliotecas.
Reglas relacionadas
CA1010: Las colecciones deben implementar la interfaz genérica
CA1000: No declarar miembros estáticos en tipos genéricos
CA1002: No exponer listas genéricas
CA1006: No anidar tipos genéricos en firmas de miembro
CA1004: Los métodos genéricos deben proporcionar un parámetro de tipo
CA1003: Utilizar instancias genéricas de controlador de eventos
CA1007: Utilizar valores genéricos cuando sea posible