Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 回滚XML文档中的更改_C#_Xml - Fatal编程技术网

C# 回滚XML文档中的更改

C# 回滚XML文档中的更改,c#,xml,C#,Xml,我想引发一个事件,以防止对Xml文件进行任何修改 仅仅提出一个事件就足够了吗?像 XElement doc = XElement.Load(@"d:\XMLFiles\namespace.xml"); doc.Changed +=new EventHandler<XObjectChangeEventArgs>(doc_Changed); 您应该订阅更改,而不是订阅更改,以便在更改发生之前得到通知 防止更改的最简单方法是抛出异常。。。但这是一种相当严厉的处理方式。你真正想防止的情况是

我想引发一个事件,以防止对Xml文件进行任何修改

仅仅提出一个事件就足够了吗?像

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

您应该订阅
更改
,而不是订阅
更改
,以便在更改发生之前得到通知


防止更改的最简单方法是抛出异常。。。但这是一种相当严厉的处理方式。你真正想防止的情况是什么?由于开发人员不理解此文档是只读的而导致的意外更改?

不太清楚您的意思。。。你是指现实世界中的函数式编程书吗?如果是这样,我只帮了一点忙——托马斯·佩特里切克做了大部分工作。
    static void doc_Changed(object sender, XObjectChangeEventArgs e)
    {

        //what is the code needed here..?  

    }