private void FileSystemWatcher_Changed(object sender, FileSystemEventArgs e) { _fileSystemWatcher.EnableRaisingEvents = false; try { OnFileSystemChanged?.Invoke(this, e); } finally { // naive way _fileSystemWatcher.EnableRaisingEvents = true; } }
private void Update() { if (m_handler == null) { return; } lock (m_queue) { while (m_queue.Count > 0) { m_tmp.Enqueue(m_queue.Dequeue()); } } while (m_tmp.Count > 0) { m_handler.Invoke(m_tmp.Dequeue()); } }