CA1005: Evitare un uso eccessivo di parametri nei tipi generici
TypeName |
AvoidExcessiveParametersOnGenericTypes |
CheckId |
CA1005 |
Category |
Microsoft.Design |
Breaking Change |
Breaking |
Causa
Un tipo generico visibile esternamente presenta più di due parametri di tipo.
Descrizione della regola
Quanto più è alto il numero di parametri di tipo contenuti, maggiore è la difficoltà di sapere e ricordare cosa rappresenta ciascun parametro. Di solito, è ovvio con un parametro di tipo, come in List<T>, e in alcuni casi anche con due, come in Dictionary<TKey, TValue>. Se i parametri di tipo sono più di due, la difficoltà si rivela eccessiva per la maggior parte degli utenti (ad esempio, TooManyTypeParameters<T, K, V> in C# o TooManyTypeParameters(Of T, K, V) in Visual Basic).
Come correggere le violazioni
Per correggere una violazione di questa regola, modificare la progettazione in modo che non vengano utilizzati più di due parametri di tipo.
Esclusione di avvisi
Non escludere avvisi per questa regola a meno che la progettazione non richieda assolutamente più di due parametri di tipo. La presenza di generics in una sintassi facile da comprendere e utilizzare riduce il tempo necessario all'apprendimento e aumenta la frequenza di adozione di nuove librerie.
Regole correlate
CA1010: Gli insiemi devono implementare un'interfaccia generica
CA1000: Non dichiarare membri statici su tipi generici
CA1002: Non esporre elenchi generici
CA1006: Non annidare tipi generici nelle firme dei membri
CA1004: I metodi generici devono fornire parametri di tipo
Ca1003: Utilizzare istanze di gestori eventi generici
CA1007: Utilizzare generics dove appropriato