title: Naming C# events and handlers properly
body: <p>From what I've read I'm not sure if I've got the naming convention for events and handlers correct. (there seems to be some conflicting advice out there). </p>
  
  <p>In the two classes below can anyone tell me if I've got the naming right for the event, the method that raises the event and the method that handles the event?</p>
  
  <pre><code>public class Car
  {
   // is event named correctly?
   public event EventHandler&lt;EventArgs&gt; OnSomethingHasHappened;
  
   private void MoveForward()
   {
    RaiseSomethingHasHappened();
   }
  
   // is the named correctly
   private void RaiseSomethingHasHappened()
   {
    if(OnSomethingHasHappened != null)
    {
     OnSomethingHasHappened(this, new EventArgs()); 
    }
   }
  }
  </code></pre>
  
  <p>and the subscriber class:</p>
  
  <pre><code>public class Subscriber()
  {
   public Subscriber()
   {
    Car car = new Car();
    car.OnSomethingHasHappened += Car_SomethingHasHappened();
   }
  
   // is this named correctly?
   private void Car_SomethingHasHappened(object sender, EventArgs e)
   {
    // do stuff
   }
  }
  </code></pre>
  
  <p>Thanks in advance!</p>