Udostępnij za pośrednictwem


CA1002: Nie ujawniaj list generycznych

TypeName

DoNotExposeGenericLists

CheckId

CA1002

Kategoria

Microsoft.Design

Zmiana kluczowa

Kluczowa

Przyczyna

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

Opis reguły

List jest kolekcją generyczną, która jest przeznaczona dla wydajności, a nie dziedziczenia.List 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 List.

Jak naprawić naruszenia

Aby usunąć naruszenie tej zasady, należy zmienić typ List 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: Unikaj nadużywania parametrów na typach generycznych

CA1010: Kolekcje powinny implementować interfejs generyczny

CA1000: Nie deklaruj statycznych elementów członkowskich na typach generycznych

CA1006: Nie zagnieżdżaj typów generycznych w podpisach elementu członkowskiego

CA1004: Generyczne metody powinny dostarczyć parametry typu

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

CA1007: Używaj danych generycznych wszędzie, gdzie jest to odpowiednie

Zobacz też

Informacje

Typy ogólne (Przewodnik programowania w języku C#)