title: Raise event on system method run
body: <p>I have a console app that uses the <code>System.IO</code> namespace extensively, in specific <code>File.Delete()</code>, <code>File.Copy()</code> and <code>Directory.Delete()</code>.<br>
  What I would like to do is to raise an event when one of this methods run, something like this:</p>
  
  <pre><code>this.OnFileDelete += ...
  //or
  System.IO.File.OnFileCopy += ...
  </code></pre>
  
  <p>I know I can work around it with the <code>FileSystemWatcher</code> or by creating a helper method for each of the above methods but I'm looking for something more generic that will allow me to raise an event when a method not created by execute.</p>