CA1059 : Les membres ne doivent pas exposer certains types concrets

Élément Valeur
ID de la règle CA1059
Category Microsoft.Design
Modification avec rupture Rupture

Cause

Un membre visible à l’extérieur est un certain type concret ou expose certains types concrets via l’un de ses paramètres ou la valeur de retour. Actuellement, cette règle signale l’exposition des types concrets suivants :

Notes

Cette règle est déconseillée. Pour plus d’informations, consultez Règles dépréciées.

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 n’importe quel 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 Remplacement
XPathDocument System.Xml.XPath.IXPathNavigable.

L’utilisation de l’interface dissocie 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 prudent de supprimer un message de cette règle si la fonctionnalité spécifique fournie par le type concret est requise.

CA1011 : Si possible, transmettez les types de base en tant que paramètres