Tôi có một API trả về XElement
và tôi muốn tài liệu đằng sau những số XElement
không thể thay đổi được (chỉ đọc). Tôi cần nó cho:Có cách nào để tạo một XDocument không thay đổi (chỉ đọc) không?
- Không để cung cấp cho các nhà phát triển một khả năng để thay đổi nó vô tình :)
- Cải thiện hiệu suất - tạo ra một bản sao của một
XDocument
có thể là một buổi biểu diễn "nặng" hoạt động trong một số trường hợp.
Nó không có vẻ để có thể kế thừa & ghi đè các hành vi cần thiết trong XDocument
/XElement
/XContainer
, bởi vì tất cả các phương pháp ảo có được đánh dấu là internal
:
internal virtual void XContainer.AddAttribute(XAttribute a)
{
}
Vì vậy, câu hỏi của tôi là - là có một cách làm cho nó xảy ra, hoặc nó là tốt hơn để có một API khác nhau mà sẽ hoặc trả lại một cái gì đó như XPathNavigator
's, hoặc nó là tốt hơn để có các lớp học riêng như IReadOnlyXElement
, vv?