title: Overload generic List's Add with extension method
body: <p>I would like to overload a generic list's Add method so I can use collection initializations like:</p>
  
  <pre><code>var x = new List&lt;Tuple&lt;string&gt;&gt; { { "1", "2" }, { "1", "2" } };
  </code></pre>
  
  <p>(Where Tuple is a simple custom implementation of a binary tuple.)
  However, I created an extension method, put a using directive in the cs file, and still get the "No overload for method 'Add' takes 2 arguments"-error.<br>
  Is it not possible to do (with an extension method)?</p>
  
  <p>Extension method code:</p>
  
  <pre><code>namespace ExtensionMethods {
      public static class Extensions{
          public static void Add&lt;T&gt;(this List&lt;Tuple&lt;T&gt;&gt; self, T value1, T value2) {
              self.Add(new Tuple&lt;T&gt; { value1, value2 });
          }
      }
  }
  </code></pre>