Générique de constructeurs et de réflexion

Est-il possible de voir quel constructeur a été le générique?

internal class Foo<T>
{
  public Foo( T value ) {}
  public Foo( string value ) {}
}

var constructors = typeof( Foo<string> ).GetConstructors();

La propriété 'ContainsGenericParameters' me renvoie pour les deux constructeurs faux. Est-il un moyen pour savoir que les constructeurs[0] est le générique? Ils ont tous deux la même signature, mais je tiens à appeler le "réel" de la chaîne.

EDIT:

Je voudrais invoquer le type donné à l'aide de

ilGen.Emit( OpCodes.Newobj, constructorInfo );

donc j'ai besoin de travailler avec la limite de la version. Mais je tiens à appeler le "meilleur" du constructeur. Que devrait être le comportement normal. Quand je l'appelle

new Foo<string>()

le constructeur avec la chaîne de signature (et non pas l'un avec le générique de la signature) est appelée. La même chose devrait se produire avec mon code.

OriginalL'auteur tanascius | 2009-05-15