CA1005: Unikaj nadużywania parametrów na typach generycznych
TypeName |
AvoidExcessiveParametersOnGenericTypes |
CheckId |
CA1005 |
Kategoria |
Microsoft.Design |
Zmiana kluczowa |
Kluczowa |
Przyczyna
Widoczny z zewnątrz typ generyczny posiada więcej niż dwa parametry typu.
Opis reguły
Im więcej parametrów typu zawiera typ generyczny, tym trudniej jest poznać i zapamiętać co reprezentuje każdy parametr typu.Zazwyczaj jest to oczywiste w przypadku jednego typu parametru, tak jak w List<T> i w niektórych przypadkach z dwoma parametrów typu, tak jak w Dictionary<TKey, TValue>.Jeśli istnieją więcej niż dwa parametry typu, poziom trudności staje się zbyt duży dla większości użytkowników (na przykład TooManyTypeParameters<T, K, V> w języku C# lub TooManyTypeParameters(Of T, K, V) w języku Visual Basic).
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, należy zmienić projekt tak, aby używać nie więcej niż dwa parametry typu.
Kiedy pominąć ostrzeżenia
Nie należy pomijać ostrzeżenie od tej reguły, chyba że projekt absolutnie wymaga więcej niż dwóch parametrów typu.Dostarczanie ogólników w składni, które są łatwe do zrozumienia i użycia, skraca czas wymagany do nauki i zwiększa szybkość procesu wdrażania nowych bibliotek.
Powiązane reguły
CA1010: Kolekcje powinny implementować interfejs generyczny
CA1000: Nie deklaruj statycznych elementów członkowskich na typach generycznych
CA1002: Nie ujawniaj list 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