Compartir a través de


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

Vea también

Referencia

Genéricos (Guía de programación de C#)