public static void ValidateRouteValueOfType <TRouteValue>(
            dynamic actionResult,
            Action <string, string, string> failedValidationAction)
        {
            RuntimeBinderValidator.ValidateBinding(() =>
            {
                var routeValues = (IDictionary <string, object>)actionResult.RouteValues;

                DictionaryValidator.ValidateValueOfType <TRouteValue>(
                    RouteValuesName,
                    routeValues,
                    failedValidationAction);
            });
        }