title: Why use EventArgs.Empty instead of null?
body: <p>I recall reading, on multiple occasions and in multiple locations, that when firing the typical event:</p>
  
  <pre><code>protected virtual OnSomethingHappened()
  {
      this.SomethingHappened(this, EventArgs.Empty);
  }
  </code></pre>
  
  <p>e should be EventArgs.Empty if there are no interesting event args, not null.</p>
  
  <p>I've followed the guidance in my code, but I realized that I'm not clear on why that's the preferred technique. Why does the stated contract prefer     EventArgs.Empty over null?</p>