Generische Listen nicht verfügbar machen

     TypeName

DoNotExposeGenericLists

CheckId

CA1002

Kategorie

Microsoft.Design

Unterbrechende Änderung

Breaking

Ursache

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

Regelbeschreibung

System.Collections.Generic.List ist eine generische Auflistung, die mit Blick auf Leistung und nicht auf Vererbung entworfen wurde und die deshalb keine virtuellen Member enthält. Die folgenden generischen Auflistungen wurden mit Blick auf Vererbung entworfen und sollten anstelle von System.Collections.Generic.List verfügbar gemacht werden.

Behandlung von Verstößen

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

Warnungsausschluss

Schließen Sie keine Warnung dieser Regel aus, 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 auf Leistungsoptimierung abgestimmten Anwendung auszuschließen, in der aus der Verwendung generischer Listen Leistungsvorteile erzielt werden können.

Verwandte Regeln

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

Auflistungen müssen eine generische Schnittstelle implementieren

Statische Member nicht in generischen Typen deklarieren

Generische Typen in Membersignaturen nicht schachteln

Generische Methoden müssen den Typparameter angeben

Generische Ereignishandlerinstanzen verwenden

Nach Möglichkeit Generika verwenden

Siehe auch

Konzepte

Generika (C#-Programmierhandbuch)