title: Using C# params keyword in a constructor of generic types
body: <p>I have a generic class in C# with 2 constructors:</p>
  
  <pre><code>public Houses(params T[] InitialiseElements)
  {}
  public Houses(int Num, T DefaultValue)
  {}
  </code></pre>
  
  <p>Constructing an object using int as the generic type and passing in two ints as arguments causes the 'incorrect' constructor to be called (from my point of view).</p>
  
  <p>E.g. <code>Houses&lt;int&gt; houses = new Houses&lt;int&gt;(1,2)</code> - calls the 2nd construtor. Passing in any other number of ints into the constructor will call the 1st constructor.</p>
  
  <p>Is there any way around this other than removing the params keyword and forcing users to pass an array of T when using the first constructor?</p>