Skip to content

Instantly share code, notes, and snippets.

@am11
Created April 3, 2014 19:30
Show Gist options
  • Save am11/9961177 to your computer and use it in GitHub Desktop.
Save am11/9961177 to your computer and use it in GitHub Desktop.
File System Observer
using System;
using System.IO;
namespace MadsKristensen.EditorExtensions
{
public class FileSystemObserver
{
public static void CreateFileWatcher(string fileName,
Action<object, FileSystemEventArgs> changed,
Action<object, FileSystemEventArgs> created,
Action<object, FileSystemEventArgs> deleted,
Action<object, FileSystemEventArgs> renamed
)
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = Path.GetDirectoryName(fileName);
watcher.Filter = Path.GetFileName(fileName);
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName;
watcher.Changed += new FileSystemEventHandler(changed);
watcher.Created += new FileSystemEventHandler(created);
watcher.Deleted += new FileSystemEventHandler(deleted);
watcher.Renamed += new RenamedEventHandler(renamed);
watcher.EnableRaisingEvents = true;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment