private MethodInfo GetMethod(string methodName) { List <MethodInfo> methods = ControllerType .GetMember(methodName, MemberTypes.Method, BindingFlags.Instance | BindingFlags.Public | BindingFlags.InvokeMethod | BindingFlags.IgnoreCase) .Cast <MethodInfo>() .Where(m => IsActionMethod(m, false)) .ToList(); switch (methods.Count) { case 0: return(null); case 1: return(methods[0]); default: throw Error.AmbiguousActionName(ControllerType, methodName); } }