public DesignTimeInfo BuildInfo() { var info = new DesignTimeInfo { ControllerAssemblyType = _controllerAssemblyType, Options = _options }; info.DesignerControllers = info.ControllerAssemblyType.Assembly.GetTypes() // our designer controllers filter .Where(t => t.IsPublic && typeof(IController).IsAssignableFrom(t) && t.Name.EndsWith(info.Options.ControllerSuffix)) // map to controller info objects .Select(t => { string name = t.Name.Take(t.Name.Length - info.Options.ControllerSuffix.Length).Convert(c => new String(c.ToArray())); return new DesignTimeControllerInfo { ControllerType = t, Name = name, Description = GetDescription(t) ?? name, ActionInfos = GetActionInfos(t), }; }) .ToList(); return info; }
public DesignTimeControllerFactory(DesignTimeInfo info) { Info = info; }