CA1002 : Ne pas exposer de listes génériquesCA1002: Do not expose generic lists

TypeNameTypeName DoNotExposeGenericListsDoNotExposeGenericLists
CheckIdCheckId CA1002CA1002
CategoryCategory Microsoft.DesignMicrosoft.Design
Modification avec ruptureBreaking Change RuptureBreaking

CauseCause

Un type contient un membre extérieurement visible est un System.Collections.Generic.List<T> type, retourne un System.Collections.Generic.List<T> type, ou dont la signature inclut un System.Collections.Generic.List<T> paramètre.A type contains an externally visible member that is a System.Collections.Generic.List<T> type, returns a System.Collections.Generic.List<T> type, or whose signature includes a System.Collections.Generic.List<T> parameter.

Description de la règleRule description

System.Collections.Generic.List<T> est une collection générique qui est conçue pour les performances et non l’héritage.System.Collections.Generic.List<T> is a generic collection that is designed for performance and not inheritance. System.Collections.Generic.List<T> ne contient pas de membres virtuels qui le rendent plus facile de modifier le comportement d’une classe héritée.System.Collections.Generic.List<T> does not contain virtual members that make it easier to change the behavior of an inherited class. Les collections génériques suivantes sont conçues pour l’héritage et doivent être exposées au lieu de System.Collections.Generic.List<T>.The following generic collections are designed for inheritance and should be exposed instead of System.Collections.Generic.List<T>.

Comment corriger les violationsHow to fix violations

Pour corriger une violation de cette règle, modifiez le System.Collections.Generic.List<T> type à une des collections génériques qui est conçu pour l’héritage.To fix a violation of this rule, change the System.Collections.Generic.List<T> type to one of the generic collections that is designed for inheritance.

Quand supprimer les avertissementsWhen to suppress warnings

Ne supprimez pas d’avertissement de cette règle, sauf si l’assembly qui déclenche cet avertissement n’est pas destiné à être une bibliothèque réutilisable.Do not suppress a warning from this rule unless the assembly that raises this warning is not meant to be a reusable library. Par exemple, il serait possible de supprimer cet avertissement dans une application de paramétrer des performances sans où un gain de performances a été acquise à partir de l’utilisation de listes génériques.For example, it would be safe to suppress this warning in a performance tuned application where a performance benefit was gained from the use of generic lists.

CA1005 : Évitez trop de paramètres sur les types génériquesCA1005: Avoid excessive parameters on generic types

CA1010 : Les collections doivent implémenter une interface génériqueCA1010: Collections should implement generic interface

CA1000 : Ne déclarez pas de membres statiques sur les types génériquesCA1000: Do not declare static members on generic types

CA1006 : Ne pas imbriquer les types génériques dans les signatures de membreCA1006: Do not nest generic types in member signatures

CA1004 : Les méthodes génériques doivent fournir un paramètre de typeCA1004: Generic methods should provide type parameter

CA1003 : Utiliser les instances du gestionnaire d’événements génériquesCA1003: Use generic event handler instances

CA1007 : Utiliser des méthodes génériques lorsque cela est appropriéCA1007: Use generics where appropriate

Voir aussiSee also

GénériquesGenerics