CA1002: No exponer listas genéricas
TypeName |
DoNotExposeGenericLists |
Identificador de comprobación |
CA1002 |
Categoría |
Microsoft.Design |
Cambio problemático |
Problemático |
Motivo
Un tipo contiene un miembro visible externamente que es un tipo List, que devuelve un tipo List o cuya firma incluye un parámetro List.
Descripción de la regla
List es una colección genérica que está diseñada para el rendimiento y no para la herencia.List no contiene miembros virtuales que facilitan el cambio de comportamiento de una clase heredada.Las colecciones genéricas siguientes están diseñadas para herencia y se deberían exponer en lugar de List.
Cómo corregir infracciones
Para corregir una infracción de esta regla, cambie el tipo List por una de las colecciones genéricas diseñadas para la herencia.
Cuándo suprimir advertencias
No suprima ninguna advertencia de esta regla a menos que el ensamblado que la genera no se vaya a usar como biblioteca reutilizable.Por ejemplo, sería seguro suprimir esta advertencia en una aplicación optimizada para el rendimiento cuando se obtenga una mejora importante del rendimiento usando listas genéricas.
Reglas relacionadas
CA1005: Evite parámetros excesivos en tipos genéricos
CA1010: Las colecciones deben implementar la interfaz genérica
CA1000: No declarar miembros estáticos en tipos genéricos
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