2013-10-09 90 views
0

有什麼方法可以查看OnChanged被調用時究竟發生了什麼變化?我正試圖過濾出文件屬性的變化。FileSystemWatcher OnChanged事件

+0

如果您不知道[FileSystemWatcher並不總是表現](http://stackoverflow.com/questions/239988/filesystemwatcher-vs-polling-to-watch-for-file-changes)。 – Mike

回答

2

該方法提供了類型爲FileSystemEventArgs的參數,該參數提供有關更改類型和路徑的數據。

您可以使用此過濾僅WatcherChangeTypes.Changed值,它是:

文件或文件夾的變化。更改的類型包括:將 更改爲大小,屬性,安全設置,上次寫入以及上次訪問時間 。

見@奧利弗的回答爲補充信息,以這個答案,我只是要補充一點:)

2

可以使用NotifyFilter屬性來指定要遵守什麼樣的變化。正如Rotem已經提到FileSystemEventArgs類也提供了一些變化的信息。

0

我不認爲你可以篩選出任何粒度更細的屬性。您可以使用NotifyFilters屬性來指定您只想在文件屬性發生更改時引發事件。當每次更改發生時都會引發該事件,以便您可以響應事件,只需使用提供的文件路徑創建FileInfo類並檢查新屬性。