我有一个返回XElement
's 的 API,我希望这些XElement
's 后面的文档是不可变的(只读)。我需要它:
- 不要让开发人员能够意外更改它:)
- 提高性能 - 在某些情况下,创建副本
XDocument
可能是性能“繁重”的操作。
似乎不可能继承和覆盖 XDocument
//XElement
中的必要行为XContainer
,因为那里的所有虚拟方法都标记为internal
:
internal virtual void XContainer.AddAttribute(XAttribute a)
{
}
所以我的问题是 - 有没有办法让它发生,或者最好有一个不同的 API 来返回类似XPathNavigator
的东西,或者最好有自己的类IReadOnlyXElement
,等等?