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 |
---|---|
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.