Generische Listen nicht verfügbar machen
Aktualisiert: November 2007
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<T>-Typ ist, einen System.Collections.Generic.List<T>-Typ zurückgibt oder dessen Signatur einen System.Collections.Generic.List<T>-Parameter enthält.
Regelbeschreibung
System.Collections.Generic.List<T> 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<T> verfügbar gemacht werden.
Behandlung von Verstößen
Um einen Verstoß gegen diese Regel zu beheben, ändern Sie den System.Collections.Generic.List<T>-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
Ü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