我通过添加字符串属性(fileToTest)扩展了标准的FileSystemWatcher类,现在我还需要扩展FileSystemEventArgs以添加此属性,我该怎么做?
我的扩展FileSystemWatcher:
class AleFileSystemWatcher : FileSystemWatcher
{
public string fileToTest { get; set; }
}
FileSystemEventArgs fileToTest属性应与AleFileSystemWatcher fileToTest相同。
我可以这样做吗?
答案 0 :(得分:1)
就个人而言,我不会扩展FileSystemWatcher,而是将其作为类中的实例变量。您并没有真正扩展FileSystemWatcher的主要功能,而是利用其功能(即监听已更改/创建的/无论何种文件,并将其与您正在查找的文件进行匹配)
public class SpecificFileWatcher
{
public string FileToTest { get; set; }
private readonly FileSystemWatcher iWatcher;
public class SpecificFileWatcher(FileSystemWatcher watcher)
{
iWatcher = watcher;
iWatcher.Changed += iWatcher_Changed; //whatever event you need here
}
//eventhandler for watcher
public ...
{
if(e.FileName == FileToTest)
Console.WriteLine("file found");
}
}