private void scareCrow_Changed(object sender, FileSystemEventArgs e) { string fileName = e.Name.ToLower(); using (fileLoadResourceLock.WaitToWrite()) { if (pendingFileReloads.Contains(fileName) || !ContainsFile(fileName)) return; pendingFileReloads.Add(fileName); } CountdownTimer timer = new CountdownTimer(); timer.BeginCountdown(CHANGE_FILE_DELAY, DelayedProcessFileChanged, fileName); }
private void scareCrow_Changed(object sender, FileSystemEventArgs e) { string fileName = e.Name.ToLower(); using (DirectoryWatcher.fileLoadResourceLock.WaitToWrite()) { if (this.pendingFileReloads.Contains(fileName) || !this.ContainsFile(fileName)) { return; } this.pendingFileReloads.Add(fileName); } CountdownTimer timer = new CountdownTimer(); timer.BeginCountdown(5000, new System.AsyncCallback(this.DelayedProcessFileChanged), fileName); }