我有一個返回XElement
的API,我希望這些XElement
背後的文檔是不可變的(只讀)。我需要它:有沒有辦法創建一個不可變(只讀)的XDocument?
- 不給開發者去改變它小心:)
- 提高性能的能力 - 創建
XDocument
的副本可能是在某些情況下的性能「沉重」的操作。
這似乎並不可能繼承&覆蓋在XDocument
/XElement
/XContainer
必要的行爲,因爲所有的虛擬方法有標記爲internal
:
internal virtual void XContainer.AddAttribute(XAttribute a)
{
}
所以我的問題是 - 有辦法讓它發生,或者最好有一個不同的API來返回像XPathNavigator
的東西,或者最好有自己的類如IReadOnlyXElement
等。