更新:2007 年 11 月
| TypeName | MembersShouldNotExposeCertainConcreteTypes | 
| CheckId | CA1059 | 
| 类别 | Microsoft.Design | 
| 是否重大更改 | 是 | 
原因
外部可见的成员属于某个具体类型,或者它的一个参数或返回值公开某些具体类型。当前,如果公开了下面的具体类型,该规则会报告出来:
- 从 System.Xml.XmlNode 派生的类型。
规则说明
具体类型是指具有一个完整实现因此可以实例化的类型。若要允许广泛使用该成员,应使用建议的接口替换该具体类型。这样,该成员便可接受实现该接口的任何类型,或在需要实现该接口的类型时能够使用。
下表列出了目标具体类型及建议的替换接口。
| 具体类型 | 替换接口 | 
|---|---|
| XmlNode- 或 -XPathDocument | System.Xml.XPath.IXPathNavigable 使用该接口可将该成员与 XML 数据源的特定实现分离。 | 
如何修复冲突
若要修复与该规则的冲突,请将具体类型更改为建议的接口。
何时禁止显示警告
如果需要具体类型提供的特定功能,则可以安全地禁止显示有关此规则的消息。