title: EventHandler Not Needed in Event?
body: <p>I noticed this while using the Ping class. I originally followed C#'s documentation when implementing the PingCompleted callback method:</p>
  
  <pre><code>pingSender.PingCompleted += new PingCompletedEventHandler(PingCompletedCallback);
  </code></pre>
  
  <p>However, when I was adding a new method to the Timer's Elapsed event, I noticed that I wasn't passing a new TimerElapsedEventHandler. Instead, I was just passing the function name as is:</p>
  
  <pre><code>customTimer.Elapsed += CustomTimerElapsedCallback;
  </code></pre>
  
  <p>I tested this out with the PingCompleted event and it still works:</p>
  
  <pre><code>pingSender.PingCompleted += PingCompletedCallback;
  </code></pre>
  
  <p>I couldn't find any source that specifically explains why this is. Can anyone explain why this is allowed and what the EventHandler calls does?</p>