ActionControllers.ActionControllerFactory.CreateController C# (CSharp) Метод

CreateController() публичный Метод

public CreateController ( RequestContext requestContext, string controllerName ) : IController
requestContext RequestContext
controllerName string
Результат IController
        public override IController CreateController(RequestContext requestContext, string controllerName)
        {
            string actionName = requestContext.RouteData.GetRequiredString("action");
            string key = _namingConventions.BuildKeyFromControllerAndAction(controllerName, actionName);

            ActionController actionInstance = null;

            try
            {
                Type t;
                if (_actionTypes.TryGetValue(key, out t))
                    actionInstance = _createController(t) as ActionController;
                else
                    return base.CreateController(requestContext, controllerName);
            }
            catch (Exception ex)
            {
                throw new HttpException(404, "Controller not found", ex);
            }

            if (actionInstance == null)
            {
                throw new HttpException(404, "Controller not found");
            }

            actionInstance.NamingConventions = _namingConventions;

            return actionInstance;
        }