我需要创建一个继承自 FileSystemWatcher
的类。我应该拦截事件 OnCreated
并创建我的自定义事件 OnCreated
。我尝试了以下方式:
public class LocalFolderWatcher : FileSystemWatcher, IWatcher
{
...
public event LocalFolderEventHandler Created;
protected override void OnCreated(FileSystemEventArgs e)
{
string path = System.IO.Path.GetDirectoryName(e.FullPath);
LocalFolderEventArgs args = new LocalFolderEventArgs(e.ChangeType, this._gatewayConfigurationName, path, this._folderConfigurationName, e.Name);
if (Created != null && base.EnableRaisingEvents && base.Path != null)
Created(this, args);
base.OnCreated(e);
}
}
但我得到错误提示:我不能重写一个没有标记为virtual、abstract或override的方法。我尝试用"new"代替"override",但这样事件就不会被触发了。
我该如何截获真正的"OnCreated"并替换为我的方法呢?
谢谢。
public new event LocalFolderEventHandler Created;
,然后base.Created += OnCreated;
。然后将每个CustomCreated
更改为Created
。 - IS4