Udostępnij za pośrednictwem


CA1002: Nie będą uwidaczniać rodzajowy list

TypeName

DoNotExposeGenericLists

CheckId

CA1002

Kategoria

Microsoft.Design

Zmiana kluczowa

Kluczowa

Przyczyna

Typ zawiera widoczny z zewnątrz element członkowski, który jest System.Collections.Generic.List<T>, który zwraca typ System.Collections.Generic.List<T> lub których podpis zawiera parametr System.Collections.Generic.List<T>.

Opis reguły

System.Collections.Generic.List<T> jest kolekcją generyczną, która jest przeznaczona dla wydajności, a nie dziedziczenia.System.Collections.Generic.List<T> nie ma zawiera wirtualnych elementów członkowskich, przez co łatwiej zmienić zachowanie dziedziczonej klasy.Następujące kolekcje generyczne są przeznaczone dla dziedziczenia i powinny być udostępnione zamiast System.Collections.Generic.List<T>.

Jak naprawić naruszenia

Aby usunąć naruszenie tej zasady, należy zmienić typ System.Collections.Generic.List<T> kolekcji generycznych, które są zaprojektowane dla dziedziczenia.

Kiedy pominąć ostrzeżenia

Nie pomijaj ostrzeżenie od tej reguły, chyba że zestaw, który wywołuje to ostrzeżenie nie ma być biblioteką wielokrotnego użytku.Na przykład byłoby bezpiecznie pominąć to ostrzeżenie w aplikacji dostrojonej pod względem wydajności, gdzie uzyskano ją korzystając z list generycznych.

Powiązane reguły

CA1005: Uniknąć nadmiernego parametrów na typy rodzajowe

CA1010: Kolekcji należy implementować interfejs rodzajowy

CA1000: Elementy statyczne nie są deklarowane w typach podstawowych

CA1006: Nie zagnieżdżaj typy rodzajowe w Członkowskim podpisów

CA1004: Metody rodzajowe powinny dostarczyć parametr typu

CA1003: Użyj wystąpień programu obsługi zdarzeń rodzajowy

CA1007: Użyj generyczne, gdzie stosowne

Zobacz też

Informacje

Generyczne (Podręcznik programowania C#)