2011-08-29 52 views
2

我正在寻找一种巧妙的方式来实现C#中的while循环,该循环持续循环直到FileInfo的LastAccessTime更改。循环直到文件LastAccessTime更改

我正在使用FileSystemWatcher在文件上做某些工作时引发更改事件,但是只要打开文件就会触发此事件。

任何想法?

回答

2

查看FileSystemWatcher上的NotifyFilter属性。 FileSystemWatcher不支持查看上次访问时间。

2

FileSystemWatcher似乎是正确的做法。要仅收到LastWrite的通知,请将NotifyFilter property设置为反映:

watcher.NotifyFilter = NotifyFilters.LastWrite; 
+0

感谢您抽出时间回复我的信息。我了解LastWrite以及如何将特定文件和/或文件类型过滤掉。但是,似乎没有一些定时器延迟线程休眠过程,直到文件关闭之前,它不可能无限循环。从“愚蠢的用户”的角度来看,文件可能会全天打开 - 不知道多久,所以我只想在文件保存/关闭时触发事件。我认为filewather的Changed属性可以做到这一点,但事实证明,只要打开文件就会引发此事件。谢谢。 – Risho