Avoid excessive parameters on generic types







Breaking Change


An externally visible generic type has more than two type parameters.

The more type parameters a generic type contains, the more difficult it is to know and remember what each type parameter represents. It is usually obvious with one type parameter, as in List<T>, and in certain cases with two type parameters, as in Dictionary<TKey, TValue>. If there are more than two type parameters, the difficulty becomes too great for most users, for example, TooManyTypeParameters<T, K, V> in C# or TooManyTypeParameters(Of T, K, V) in Visual Basic.

To fix a violation of this rule, change the design to use no more than two type parameters.

Do not exclude a warning from this rule unless the design absolutely requires more than two type parameters. Providing generics in a syntax that is easy to understand and use reduces the time that is required to learn and increases the adoption rate of new libraries.

The following example shows a class that defines three generic type parameters which violates the rule.

Community Additions