Rebel.Cms.Web.RouteDataExtensions.GetControllerHash C# (CSharp) Method

GetControllerHash() static private method

Returns a string representation of the routeData for use in Dictionary keys, the string returned depicts a unique route for a controller.
static private GetControllerHash ( this routeData ) : string
routeData this
return string
        internal static string GetControllerHash(this RouteData routeData)
        {
            //currently the only routable values that we need to care about : area, controller, Namespaces

            var builder = new StringBuilder();
            builder.Append(routeData.Values.GetRequiredObject("controller"));
            builder.Append(routeData.DataTokens.ContainsKey("area")
                               ? routeData.DataTokens["area"].ToString()
                               : "");
            builder.Append(routeData.DataTokens.ContainsKey("Namespaces")
                               ? routeData.DataTokens["Namespaces"].GetType() == typeof (string[])
                                     ? string.Join(",", (string[]) routeData.DataTokens["Namespaces"])
                                     : routeData.DataTokens["Namespaces"].ToString()
                               : "");
            return builder.ToString();
        }