title: Why assign a handler to an event before calling it?
body: <p>Basically, I've seen this used all to often:</p>
  
  <pre><code>    public event MyEventHandler MyEvent;
  
      private void SomeFunction()
      {
          MyEventHandler handler = this.MyEvent;
  
          if (handler != null)
          {
              handler(this, new MyEventArgs());
          }
      }
  </code></pre>
  
  <p>When it could just as easily be done like so:</p>
  
  <pre><code>    public event MyEventHandler MyEvent;
  
      private void SomeFunction()
      {
          if (MyEvent != null)
          {
              MyEvent(this, new MyEventArgs());
          }
      }
  </code></pre>
  
  <p>So, am I missing something? Is there some reason people assign the event to a handler, then raise the handler instead of the event itself? Is it just "best practice"?</p>