小编Dmi*_*gin的帖子

有没有办法创建一个不可变(只读)的XDocument?

我有一个返回XElement's 的API,我希望这些文件背后的文档XElement是不可变的(只读).我需要它:

  • 不给devs一个意外改变它的能力:)
  • 提高性能 - XDocument在某些情况下,创建一个可能是性能"繁重"操作的副本.

似乎无法继承和覆盖XDocument/ XElement/中的必要行为 XContainer,因为所有虚拟方法都标记为internal:

internal virtual void XContainer.AddAttribute(XAttribute a)
{
}
Run Code Online (Sandbox Code Playgroud)

所以我的问题是 - 有没有办法让它发生,或者最好有一个不同的API,它会返回类似的东西XPathNavigator,或者最好有自己的类IReadOnlyXElement,等等?

.net api xelement linq-to-xml

9
推荐指数
2
解决办法
1339
查看次数

标签 统计

.net ×1

api ×1

linq-to-xml ×1

xelement ×1