Откат изменений в XML-документе - PullRequest
0 голосов
/ 18 декабря 2009

Я хочу вызвать событие, чтобы предотвратить любые изменения в файле XML.

Достаточно просто поднять событие? как

XElement doc = XElement.Load(@"d:\XMLFiles\namespace.xml");
doc.Changed +=new EventHandler<XObjectChangeEventArgs>(doc_Changed);

Какой код мне нужно написать внутри doc_changed(..,...) для отката любых изменений?

    static void doc_Changed(object sender, XObjectChangeEventArgs e)
    {

        //what is the code needed here..?  

    }

1 Ответ

2 голосов
/ 18 декабря 2009

Вместо подписки на Changed вы должны подписаться на Changing, чтобы получать уведомления до того, как произойдет.

Самый простой способ предотвратить изменение - это вызвать исключение ... но это довольно серьезный способ обработки. Какую ситуацию вы действительно пытаетесь предотвратить? Случайные изменения из-за того, что разработчик не понимает, что этот документ предназначен только для чтения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...