Удивительно, но вам кажется, что вам нужно вызвать GetMethods()
и перебрать методы до тех пор, пока вы не найдете тот, который вам нужен.
Например:
var yourMethod = typeof(Foo).GetMethods()
.First(m => m.Name == "Bar"
&& m.GetParameters().Length == 1
&& m.GetParameters()[0].ParameterType.ContainsGenericParameters
&& m.GetParameters()[0].ParameterType.GetGenericTypeDefinition() == typeof(Func<>));