kr85 kr85 - 3 months ago 17
C# Question

Waiting for system to delete file

I had a problem with refreshing file list after deleting a file. When I gave command to delete file, the exception was thrown because the refresh method tried to access a file that was supposed to be deleted.

After some thought and debuging I came to conclusion that problem was in a fact that system needs some time to delete a file. And I solve it like this:

//Deleting file
System.Threading.Thread.Sleep(2000);
//Refreshing list


and it worked fine.

My question is

Is there a more elegant way to wait for system do delete file and then continue with code...?

Answer

The most elegant way I can think of is using a FileSystemWatcher and subscribe to its Deleted event.