CA1059: Elementy członkowskie nie powinny uwidaczniać pewnych typów konkretnych
TypeName |
MembersShouldNotExposeCertainConcreteTypes |
CheckId |
CA1059 |
Kategoria |
Microsoft.Design |
Zmiana kluczowa |
Kluczowa |
Przyczyna
Widoczny z zewnątrz element członkowski jest pewnym typem konkretnym lub uwidacznia pewne typy konkretne przez jeden ze swoich parametrów lub wartość zwracaną.Obecnie, reguła ta raportuje uwidocznienie następujących typów konkretnych:
- Typ dziedziczący po XmlNode.
Opis reguły
Typ konkretny jest typem, który posiada pełną implementację i dlatego można utworzyć jego wystąpienie.Aby umożliwić powszechne użycie elementu członkowskiego, zastąp typ konkretny sugerowanym interfejsem.Umożliwi to elementowi członkowskiemu przyjęcie dowolnego typu, który implementuje interfejs lub użycie go, w miejscu, w którym oczekiwany jest typ, który implementuje interfejs.
W poniższej tabeli wymieniono docelowe typy konkretne i sugerowane dla nich zamienniki.
Typ konkretny |
Zamiennik |
---|---|
Użycie interfejsu oddziela element członkowski od określonej implementacji źródła danych XML. |
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, zmień typ konkretny na sugerowany interfejs.
Kiedy pominąć ostrzeżenia
Można bezpiecznie pominąć komunikat dotyczący tej reguły, jeżeli wymagana jest specyficzna funkcja dostarczana przez typ konkretny.
Powiązane reguły
CA1011: Należy rozważyć przekazywanie typów bazowych jako parametrów