Wenn ein FileSystemWatcher
erstellen, haben wir die Möglichkeit, auszuwählen, welche NotifyFilters
zu achten. aber mein Verständnis gibt es mehr NotifyFilters
, die das FileSystemWatcher.Changed
Ereignis, wie NotifyFilters.LastWrite
oder NotifyFilters.Attributes
auslösen könnte.Welche NotifyFilter ausgelöst FileSystemWatcher.Changed?
Code:
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = Path.GetDirectoryName(PATH);
watcher.Filter = Path.GetFileName(PATH);
watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.Size | NotifyFilters.FileName | NotifyFilters.Security |
NotifyFilters.CreationTime | NotifyFilters.Attributes | NotifyFilters.LastAccess | NotifyFilters.DirectoryName;
watcher.Changed += OnFileSystemWatcher_Changed;
watcher.Deleted += OnFileSystemWatcher_Deleted;
watcher.Created += OnFileSystemWatcher_Created;
watcher.Renamed += OnFileSystemWatcher_Renamed;
private void OnFileSystemWatcher_Changed(object sender, FileSystemEventArgs e)
{
// Do Stuff
}
Problem: In meinem Ereignishandler für den FileSystemWatcher.Changed
Fall ist es eine Möglichkeit, zu bestimmen, welche NotifyFilter
das Ereignis ausgelöst hat?
Versuch: Ich dachte über gerade ein neues FileSystemWatcher
für jede Art von NotifyFilter
zu schaffen, aber das scheint nicht wie eine sehr effiziente Nutzung von Speicher. Ich hatte gehofft, dass es eine sauberere Methode geben würde.