C# 在系统方法运行时引发事件

C# 在系统方法运行时引发事件,c#,events,C#,Events,我有一个控制台应用程序,在特定的文件.Delete()、文件.Copy()和目录.Delete()中广泛使用System.IO命名空间 我想做的是在其中一个方法运行时引发一个事件,如下所示: this.OnFileDelete += ... //or System.IO.File.OnFileCopy += ... 我知道我可以使用FileSystemWatcher解决这个问题,或者为上述每个方法创建一个helper方法,但我正在寻找一种更通用的方法,它允许我在非由execute创建方法时引发

我有一个控制台应用程序,在特定的
文件.Delete()
文件.Copy()
目录.Delete()中广泛使用
System.IO
命名空间 我想做的是在其中一个方法运行时引发一个事件,如下所示:

this.OnFileDelete += ...
//or
System.IO.File.OnFileCopy += ...

我知道我可以使用
FileSystemWatcher
解决这个问题,或者为上述每个方法创建一个helper方法,但我正在寻找一种更通用的方法,它允许我在非由execute创建方法时引发事件。

是否可以包装
文件。Delete()
?因此,您可以自己引发事件。这是可能的(正如我在helper methods选项中提到的),但是我正在试图弄清楚是否可以将事件处理程序附加到一个不是由meIn创建的方法。总之,不,您不能拦截方法调用并首先触发事件。您可以包装它们,但它需要对所有用途使用不同的方法调用。