C#:filesystemwatcher类

C#:filesystemwatcher类,c#,filesystemwatcher,access-control,C#,Filesystemwatcher,Access Control,我对filesystemwatcher类上的移动文件事件有一个问题,我想在某个文件发生移动文件事件时停止移动文件或对其进行编辑,这可以在移动事件内部处理吗?否,使用FileSystemWatcher类无法阻止某人移动或重命名文件 如果查看,FileSystemWatcher类上的事件传递的所有事件参数都没有Cancel属性。此外,该类被简单地称为观察者这一事实也是一个线索 您可以考虑使用访问控制列表来确保某人不能删除文件(因为移动实际上只是一个复制/删除)。或者您可以尝试打开该文件的文件流,以便

我对filesystemwatcher类上的移动文件事件有一个问题,我想在某个文件发生移动文件事件时停止移动文件或对其进行编辑,这可以在移动事件内部处理吗?

否,使用
FileSystemWatcher
类无法阻止某人移动或重命名文件

如果查看,FileSystemWatcher类上的事件传递的所有事件参数都没有
Cancel
属性。此外,该类被简单地称为观察者这一事实也是一个线索


您可以考虑使用访问控制列表来确保某人不能删除文件(因为移动实际上只是一个复制/删除)。或者您可以尝试打开该文件的文件流,以便将其锁定。

否,使用
FileSystemWatcher
类无法阻止某人移动或重命名文件

如果查看,FileSystemWatcher类上的事件传递的所有事件参数都没有
Cancel
属性。此外,该类被简单地称为观察者这一事实也是一个线索


您可以考虑使用访问控制列表来确保某人不能删除文件(因为移动实际上只是一个复制/删除)。或者,您可以尝试打开该文件上的文件流,以便将其锁定。

您不能通过事件处理程序直接“取消”该操作。您必须提供一个补偿操作,以编程方式“撤消”任何要撤消的更改。

您不能通过事件处理程序直接“取消”该操作。您必须提供一个补偿操作,以编程方式“撤消”任何要撤消的更改。

您只会在事件发生后收到事件。这只是一个通知,不是一个你必须批准的事件。这也可以从类中缺少的Cancel或Handled属性(例如,与类相对)中猜测出来

您可以根据收到的文件的
OldFullPath
属性检测移动并尝试将文件移回


但是,这可能会让您的用户或其他软件感到困惑。尽量不要以无限循环结束,每次收到事件时都会来回移动文件。

您只会在事件发生后才收到事件。这只是一个通知,不是一个你必须批准的事件。这也可以从类中缺少的Cancel或Handled属性(例如,与类相对)中猜测出来

您可以根据收到的文件的
OldFullPath
属性检测移动并尝试将文件移回

但是,这可能会让您的用户或其他软件感到困惑。并且尽量不要以无限循环结束,每次收到事件时都会来回移动文件