I would do it like this:
var methods = from m in typeof(MyClass).GetMethods()
where m.Name == "MyMethod"
&& m.IsGenericMethodDefinition
let typeParams = m.GetGenericArguments()
let normalParams = m.GetParameters()
where typeParams.Length == 1 && normalParams.Length == 1
&& typeParams.Single() == normalParams.Single().ParameterType
&& !typeParams.Single().GetGenericParameterConstraints().Any()
select m;
var myMethod = methods.Single();
We're looking for a method called "MyMethod" that is a generic method with a single type-parameter having no constraints, and one 'normal' parameter of the same type as the type-parameter.
Obviously, if you're not looking to be very precise, you can just do the bare minimum to disambiguate, such as:
var myMethod = typeof(MyClass)
.GetMethods()
.Single(m => m.Name == "MyMethod" && m.IsGenericMethodDefinition);