public static Route MapLowercaseDashedRoute(this RouteCollection routes, string name, string url,
            object defaults)
        {
            var route = new LowercaseDashedRoute(url,
                new RouteValueDictionary(defaults),
                new DashedRouteHandler());

            routes.Add(name, route);

            return route;
        }
        public static Route MapLowercaseDashedRoute(this RouteCollection routes, string name, string url,
            object defaults, object constraints, string[] namespaces)
        {
            var dataTokens = CreateRouteValueDictionaryWithNamespaces(namespaces);

            var route = new LowercaseDashedRoute(url,
                new RouteValueDictionary(defaults),
                new RouteValueDictionary(constraints),
                dataTokens,
                new DashedRouteHandler());

            routes.Add(name, route);

            return route;
        }