C #: uso de FileSystemWatcher para ver los cambios en los archivos

Ok, entonces aprendí deCómo verificar si un archivo abierto ha sido actualizado&nbsp;que debería usar unFileSystemWatcher&nbsp;para ver los cambios en los archivos. Entonces ahora, la pregunta es si debo hacer un seguimiento de muchos archivos, ¿creo 1 observador para cada archivo? Además, de alguna manera debo deshacerme del observador una vez que se cierra el archivo. Está teniendo unDictionary<string, FileSystemWatcher>&nbsp;almacenar la ruta del archivo y elFileSystemWatcher&nbsp;¿el camino a seguir? A medida que abro más archivos, agrego más observadores y cuando cierro, dispongo de los observadores adecuadamente. ¿Tener demasiados observadores será algo malo?

ACTUALIZAR

Lo acabo de hacer

protected void AttachFileMonitor(EditorTabViewModel tab)
{
    string file = tab.FilePath;
    if (!_fsWatchers.ContainsKey(file))
    {
        var watcher = new FileSystemWatcher();
        watcher.Path = Path.GetDirectoryName(file);
        watcher.Filter = Path.GetFileName(file);
        watcher.Changed += (s, e) =>
        {
            string message = "";
            string caption = "";
            MessageBoxButton buttons = MessageBoxButton.YesNo;
            MessageBoxImage image = MessageBoxImage.Question;
            MessageBoxResult defaultResult = MessageBoxResult.Yes;
            MessageBoxResult result = _dialogSvc.GetMessageBox(message, caption, buttons, image, defaultResult);
            if (result == MessageBoxResult.Yes)
            {
                tab.Open(file);
            }
        };
        _fsWatchers.Add(file, watcher);
    }
}
protected void DetachFileMonitor(EditorTabViewModel tab)
{
    if (_fsWatchers.ContainsKey(tab.FilePath)) {
        _fsWatchers.Remove(tab.FilePath);
    }
}

encontre esoChanged()&nbsp;nunca se activa ...