title: C# operator overload for `+=`?
body: <p>I am trying to do operator overloads for <code>+=</code>, but I can't. I can only make an operator overload for <code>+</code>.</p>
  
  <p>How come?</p>
  
  <p><strong>Edit</strong></p>
  
  <p>The reason this is not working is that I have a Vector class (with an X and Y field). Consider the following example.</p>
  
  <pre><code>vector1 += vector2;
  </code></pre>
  
  <p>If my operator overload is set to:</p>
  
  <pre><code>public static Vector operator +(Vector left, Vector right)
  {
      return new Vector(right.x + left.x, right.y + left.y);
  }
  </code></pre>
  
  <p>Then the result won't be added to vector1, but instead, vector1 will become a brand new Vector by reference as well.</p>