CA1002: Generische Listen nicht verfügbar machen

TypeName

DoNotExposeGenericLists

CheckId

CA1002

Kategorie (Category)

Microsoft.Design

Unterbrechende Änderung

Breaking

Ursache

Ein Typ enthält einen extern sichtbaren Member, der ein List-Typ ist, einen List-Typ zurückgibt oder dessen Signatur einen List-Parameter enthält.

Regelbeschreibung

List ist eine generische Auflistung, die für eine möglichst hohe Leistung und nicht für Vererbung optimiert wurde.List enthält keine virtuellen Member, die Änderungen am Verhalten einer geerbten Klasse erleichtern würden.Die folgenden generischen Auflistungen wurden mit Blick auf Vererbung entworfen und sollten anstelle von List verfügbar gemacht werden.

Behandeln von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, ändern Sie den List-Typ in eine der mit Blick auf Vererbung entworfenen generischen Auflistungen.

Wann sollten Warnungen unterdrückt werden?

Unterdrücken Sie keine Warnung dieser Regel, es sei denn, die Assembly, die diese Warnung auslöst, ist nicht als wiederverwendbare Bibliothek bestimmt.Es wäre z. B. sicher, die Warnung in einer leistungsoptimierten Anwendung zu unterdrücken, in der durch die Verwendung generischer Listen Leistungsvorteile erzielt werden können.

Verwandte Regeln

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

CA1010: Auflistungen müssen eine generische Schnittstelle implementieren

CA1000: Statische Member nicht in generischen Typen deklarieren

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)