Partager via


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 :

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

XPathDocument

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