コード例 #1
0
        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;
        }
コード例 #2
0
 public DesignTimeControllerFactory(DesignTimeInfo info)
 {
     Info = info;
 }