title: Setup notification when certain method called at runtime
body: <p>I feel awkward for asking this, but still.</p>
  
  <p>I have a class <code>Foo</code> that's being imported from dll and cannot be modified. There is a method <code>Bar</code> which being called from the inside of <code>Foo</code> and from other places too.</p>
  
  <pre><code>    /* All this is placed inside a dll */
  
      public class Foo
      {
          public void Bar()
          {
              // does important stuff
          }
      }
  
      // there are several classes that use Foo.Bar in similar manner
      public sealed class FooBar
      {
          private readonly Foo _foo;
  
          public FooBar()
          {
              _foo = new Foo();
              ImportantInitialization();
          }
  
          private void ImportantInitialization()
          {
              // I can't modify code here
              _foo.Bar();
          }
      }
  </code></pre>
  
  <p>I need to know when <code>Bar</code> is called (or, which would be better, when the execution of <code>Bar</code> is over).</p>
  
  <p>Is there a way to create some sort of event for that purpose? Using <code>Reflection</code>, perhaps?</p>