CA1059:成员不应公开某些具体类型

类型名

MembersShouldNotExposeCertainConcreteTypes

CheckId

CA1059

类别

Microsoft.Design

是否重大更改

原因

外部可见的成员属于某个具体类型,或者它的一个参数或返回值公开某些具体类型。 当前,如果公开了下面的具体类型,该规则会报告出来:

规则说明

具体类型是指具有一个完整实现因此可以实例化的类型。 若要允许广泛使用该成员,应使用建议的接口替换该具体类型。 这样,该成员便可接受实现该接口的任何类型,或在需要实现该接口的类型时能够使用。

下表列出了目标具体类型及建议的替换接口。

具体类型

替换

XPathDocument

System.Xml.XPath.IXPathNavigable.

使用该接口可将该成员与 XML 数据源的特定实现分离。

如何解决冲突

若要修复与该规则的冲突,请将具体类型更改为建议的接口。

何时禁止显示警告

如果需要具体类型提供的特定功能,则可以安全地禁止显示有关此规则的消息。

相关规则

CA1011:考虑将基类型作为参数传递