title: How EventHandler += method is implemented?
body: <p>I'm one day newbie in C#. Let's have</p>
  
  <pre class="lang-cs prettyprint-override"><code>class C {
     // ...
     public event EventHandler Changed;
  }
  </code></pre>
  
  <p>later we use it</p>
  
  <pre class="lang-cs prettyprint-override"><code>cClassObject.Changed += new EventHandler(SomeOtherDelegate);
  </code></pre>
  
  <p>concepts are clear for me.</p>
  
  <ul>
  <li>delegate in langs like Scala would be FunctionN type, lambda.</li>
  <li>events are like object-level pub-sub Observable-like tool in C#.</li>
  </ul>
  
  <p><strong>Question:</strong></p>
  
  <p>Where and how operator <strong>+=</strong> is implemented?
  I was unable to find its code, is it a special compiler thingy that is exclusive for that class?</p>
  
  <p>Thanks</p>
  
  <p><strong>Edit:</strong>
  <a href="http://csharpindepth.com/Resources.aspx" rel="nofollow noreferrer">Here</a> are some links by Jon Skeet for in-depth C# design (including Eric's suggested own blog).</p>