Is it possible to see which constructor was the generic one?
internal class Foo { public Foo( T value ) {} public Foo( string value ) {} } var cons
You could check the Type.GetGenericArguments result type(s), and compare that to the constructor parameter type.
Just call the one with a type that is not the same (type != typeof(T)).