CA1059 : Les membres ne doivent pas exposer certains types concrets
TypeName |
MembersShouldNotExposeCertainConcreteTypes |
CheckId |
CA1059 |
Catégorie |
Microsoft.CSharp |
Modification avec rupture |
Oui |
Cause
Un membre visible de l'extérieur est un certain type concret ou expose certains types concrets par l'intermédiaire de l'un de ses paramètres ou de la valeur de retour. Cette règle indique actuellement l'exposition des types concrets suivants :
- Type dérivé de System.Xml.XmlNode.
Description de la règle
Un type concret est un type qui présente une implémentation complète et, par conséquent, peut être instancié. Pour permettre une utilisation généralisée du membre, remplacez le type concret par l'interface suggérée. Cela permet au membre d'accepter tout type qui implémente l'interface ou d'être utilisé lorsqu'un type qui implémente l'interface est attendu.
Le tableau suivant répertorie les types concrets ciblés et leurs remplacements suggérés.
Type concret |
Replacement |
---|---|
System.Xml.XPath.IXPathNavigable. L'utilisation de l'interface découple le membre d'une implémentation spécifique d'une source de données XML. |
Comment corriger les violations
Pour corriger une violation de cette règle, remplacez le type concret par l'interface suggérée.
Quand supprimer les avertissements
Il est possible de supprimer sans risque un message de cette règle si les fonctionnalités spécifiques fournies par le type concret sont requises.
Règles connexes
CA1011 : Si possible, transmettez les types de base en tant que paramètres