title: Generic constructors and reflection
body: <p>Is it possible to see which constructor was the generic one?</p>
  
  <pre><code>internal class Foo&lt;T&gt;
  {
    public Foo( T value ) {}
    public Foo( string value ) {}
  }
  
  var constructors = typeof( Foo&lt;string&gt; ).GetConstructors();
  </code></pre>
  
  <p>The property 'ContainsGenericParameters' returns me for both constructors false. Is there any way to find out that constructors[0] is the generic one? They both have the same signature, but I would like to call the "real" string one.</p>
  
  <p><b>EDIT:</b></p>
  
  <p>I want to invoke the given type using</p>
  
  <pre><code>ilGen.Emit( OpCodes.Newobj, constructorInfo );
  </code></pre>
  
  <p>so I need to work with the bound version. But I would like to invoke the "best" constructor. That should be the standard behaviour. When I call</p>
  
  <pre><code>new Foo&lt;string&gt;()
  </code></pre>
  
  <p>the constructor with the string-signature (and not the one with the generic signature) is called. The same should happen with my code.</p>