FileSystemWatcher удаляют обработчик событий

По некоторым причинам я не могу удалить обработчик событий из FileSystemWatcher.

Это - то, что я имею

void Start()
{
     ivFileSystemWatcher = new FileSystemWatcher();
     ivFileSystemWatcher.Changed += 
        new FileSystemEventHandler(ivFileSystemWatcher_Changed);
}

void Stop()
{
     ivFileSystemWatcher.Changed -= 
        new FileSystemEventHandler(ivFileSystemWatcher_Changed);
     ivFileSystemWatcher.Dispose();
}

Когда я звоню, запускаются, я начинаю получать события изменения, но когда я назову остановку, я ожидаю, что события остановятся, но они все еще повышаются.

5
задан nawfal 6 August 2011 в 15:57
поделиться

1 ответ

Вы пробовали установить EnableRaisingEvents на false :

void Stop() 
{ 
     ivFileSystemWatcher.EnableRaisingEvents = false;

     ivFileSystemWatcher.Changed -=  
        new FileSystemEventHandler(ivFileSystemWatcher_Changed); 
     ivFileSystemWatcher.Dispose(); 
}

Не видя остальной части вашего кода, я не уверен, что это лучшее место для Dispose ( ) ...

7
ответ дан 14 December 2019 в 08:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: