CA1005: Übermäßige Anzahl von Parametern in generischen Typen vermeiden

TypeName

AvoidExcessiveParametersOnGenericTypes

CheckId

CA1005

Kategorie (Category)

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

Siehe auch

Referenz

Generika (C#-Programmierhandbuch)