FileSystemWatcher supprimer gestionnaire d'événements
-
25-09-2019 - |
Question
Pour une raison quelconque, je ne peux pas supprimer un gestionnaire d'événements du FileSystemWatcher.
est ce que j'ai
void Start()
{
ivFileSystemWatcher = new FileSystemWatcher();
ivFileSystemWatcher.Changed +=
new FileSystemEventHandler(ivFileSystemWatcher_Changed);
}
void Stop()
{
ivFileSystemWatcher.Changed -=
new FileSystemEventHandler(ivFileSystemWatcher_Changed);
ivFileSystemWatcher.Dispose();
}
Quand j'appelle début je commence à recevoir les événements de changement, mais quand je l'appelle arrêt, je me attends les événements d'arrêter, mais ils sont toujours élevé.
La solution
Avez-vous essayé la mise EnableRaisingEvents
à false
:
void Stop()
{
ivFileSystemWatcher.EnableRaisingEvents = false;
ivFileSystemWatcher.Changed -=
new FileSystemEventHandler(ivFileSystemWatcher_Changed);
ivFileSystemWatcher.Dispose();
}
Sans voir le reste de votre code, je ne suis pas convaincu que c'est le meilleur endroit pour le Dispose()
...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow