我有一个 Windows 应用程序,它使用 FileSystemWatcher 来监视文件的更改。可以添加多个文件位置,并为每个位置创建一个新的 FileSystemWatcher 实例,并将该位置添加到列表框中。有一个选项可以从列表框中删除一个位置。删除位置时,我需要删除/处理 FileSystemWatcher 的特定实例。有什么办法可以做到这一点?提前致谢。
FileSystemWatcher fsw;
private void CreateFWInstance(string strLoc)
{
if (strLoc != string.Empty)
{
fsw = new FileSystemWatcher();
fsw.Changed += new FileSystemEventHandler(OnChanged);
fsw.Path = strLoc;
fsw.SynchronizingObject = this;
fsw.EnableRaisingEvents = true;
}
}
最佳答案
好吧,您需要保留对实例的引用,例如作为列表框条目中的值,或者可能是 Dictionary<string, FileSystemWatcher>
从路径映射到观察者。然后只需处理观察者并将其从字典中删除/删除列表项。
关于c# - 如何删除 FileSystemWatcher 对象的特定实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12119863/