【发布时间】:2015-09-16 00:32:38
【问题描述】:
我有一个界面,当我运行 Visual Studio 的代码分析工具时出现错误:
CA1059 成员不应暴露某些具体类型
修改成员 'ISharedRepository.RunNewsHeadlinesReport(string)' 使其 不再公开具体类型“XmlDocument”。使用 IXPathNavigable 表示 XML 数据 来源。 Ev.Pharma.Business ISharedRepository.cs 8
我的界面是:
public interface ISharedRepository
{
XmlDocument RunWhatsNewHeadlinesReport();
XmlDocument RunNewsHeadlinesReport(string reportId);
}
我正在使用 XmlDocument,因为该代码旨在与一些遗留代码一起使用,并且修改文档的能力至关重要。我很想使用 XDocument,但是有很多代码需要更改才能使用 XDocument,而且我必须将 XmlDocument 强制转换为 XDocument 才能使代码正常工作。
我可以在网上找到的建议是使用 IXPathNavigable 接口代替 XmlDocument,但是这样做我不再能够调用 XmlDocument 方法,因为这些方法不是 IXPathNavigable 接口的一部分。
这个错误对我来说似乎有点毫无意义,因为我从不打算将 XmlDocument 换成不同的具体类型。我应该只是抑制错误还是应该以某种方式更改我的代码以消除警告?
【问题讨论】:
标签: c# code-analysis