CA1005: Übermäßige Anzahl von Parametern in generischen Typen vermeiden
TypeName |
AvoidExcessiveParametersOnGenericTypes |
CheckId |
CA1005 |
Kategorie |
Microsoft.Design |
Unterbrechende Änderung |
Breaking |
Ursache
Ein extern sichtbarer generischer Typ hat mehr als zwei Typparameter.
Regelbeschreibung
Je mehr Typparameter ein generischer Typ enthält, desto schwieriger ist es, zu wissen und zu behalten, was die einzelnen Typparameter darstellen. In der Regel ist dies offensichtlich bei einem Typparameter, wie in List<T>, und in bestimmten Fällen auch bei zwei Typparametern, wie in Dictionary<TKey, TValue>. Wenn mehr als zwei Typparameter vorhanden sind, wird die Schwierigkeit für die meisten Benutzer zu groß (z. B. TooManyTypeParameters<T, K, V> in C# oder TooManyTypeParameters(Of T, K, V) in Visual Basic).
Behandeln von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, ändern Sie das Design dahingehend, dass nicht mehr als zwei Typparameter verwendet werden.
Wann sollten Warnungen unterdrückt werden?
Unterdrücken Sie keine Warnung dieser Regel, es sei denn, für das Design sind unbedingt mehr als zwei Typparameter erforderlich. Durch die Bereitstellung von Generika in einer einfach zu verstehenden und verwendenden Syntax wird die Zeit, die Sie zum Erlernen benötigen, reduziert und die Übernahmerate neuer Bibliotheken erhöht.
Verwandte Regeln
CA1010: Auflistungen müssen eine generische Schnittstelle implementieren
CA1000: Statische Member nicht in generischen Typen deklarieren
CA1002: Generische Listen nicht verfügbar machen
CA1006: Generische Typen in Membersignaturen nicht schachteln
CA1004: Generische Methoden müssen den Typparameter angeben
CA1003: Generische Ereignishandlerinstanzen verwenden
CA1007: Nach Möglichkeit Generika verwenden