CA1005 : Éviter les paramètres excessifs sur les types génériques

TypeName

AvoidExcessiveParametersOnGenericTypes

CheckId

CA1005

Catégorie

Microsoft.CSharp

Modification avec rupture

Oui

Cause

Un type générique visible de l'extérieur contient plus de deux paramètres de type.

Description de la règle

Plus un type générique contient de paramètres de type, plus il est difficile de déterminer et de mémoriser la représentation de chaque paramètre de type. Cela est généralement évident avec un paramètre de type, comme dans List<T>, et dans certains cas avec deux paramètres de type, comme dans Dictionary<TKey, TValue>. Si plus de deux paramètres de type existent, la difficulté devient trop grande pour la plupart des utilisateurs (par exemple, TooManyTypeParameters<T, K, V> en C# ou TooManyTypeParameters(Of T, K, V) dans Visual Basic).

Comment corriger les violations

Pour corriger une violation de cette règle, modifiez le design afin d'utiliser deux paramètres de type au maximum.

Quand supprimer les avertissements

Ne supprimez pas d'avertissement de cette règle sauf si le design nécessite absolument plus de deux paramètres de type. La fourniture de génériques dans une syntaxe facile à comprendre et à utiliser réduit le délai d'apprentissage nécessaire et augmente le taux d'adoption de nouvelles bibliothèques.

Règles connexes

CA1010 : Les collections doivent implémenter une interface générique

CA1000 : Ne pas déclarer de membres statiques sur les types génériques

CA1002 : Ne pas exposer de listes génériques

CA1006 : Ne pas imbriquer les types génériques dans les signatures de membre

CA1004 : Les méthodes génériques doivent fournir un paramètre de type

CA1003 : Utiliser les instances du gestionnaire d'événements génériques

CA1007 : Utiliser des classes génériques lorsque cela est approprié

Voir aussi

Référence

Génériques (guide de programmation C#)