CA1059: Member sollten bestimmte konkrete Typen nicht verfügbar machen

TypeName

MembersShouldNotExposeCertainConcreteTypes

CheckId

CA1059

Kategorie (Category)

Microsoft.Design

Unterbrechende Änderung

Breaking

Ursache

Ein extern sichtbarer Member ist ein bestimmter konkreter Typ, oder er macht bestimmte konkrete Typen über einen seiner Parameter oder den Rückgabewert verfügbar.Derzeit meldet diese Regel das Verfügbarmachen der folgenden konkreten Typen:

  • Ein von XmlNode abgeleiteter Typ.

Regelbeschreibung

Ein konkreter Typ ist ein Typ, der eine vollständige Implementierung aufweist und deshalb instanziiert werden kann.Damit der Member durchgängig verwendet werden kann, ersetzen Sie den konkreten Typ durch die vorgeschlagene Schnittstelle.So kann der Member jeden Typ akzeptieren, der die Schnittstelle implementiert, oder dort verwendet werden, wo ein Typ erwartet wird, der die Schnittstelle implementiert.

In der folgenden Tabelle werden die verwendeten konkreten Typen und jeweils vorgeschlagenen Ersatzschnittstellen aufgelistet.

Konkreter Typ

Ersetzung

XPathDocument

IXPathNavigable.

Bei Verwenden der Schnittstelle wird der Member von einer bestimmten Implementierung einer XML-Datenquelle entkoppelt.

Behandeln von Verstößen

Um einen Verstoß gegen diese Regel zu beheben, ändern Sie den konkreten Typ in die vorgeschlagene Schnittstelle.

Wann sollten Warnungen unterdrückt werden?

Eine Warnung dieser Regel kann gefahrlos unterdrückt werden, wenn die bestimmte, vom konkreten Typ bereitgestellte Funktionalität erforderlich ist.

Verwandte Regeln

CA1011: Basistypen als Parameter übergeben