private static void ConfigureServices(IServiceCollection services) { services.AddSingleton <ICommander, Commander>(); AssemblyUtility.GetControllerTypes().ToList() .ForEach(controller => services.AddSingleton(controller)); }
private static IList <Command> GenerateCommands() { var commands = new List <Command>(); var controllers = AssemblyUtility.GetControllerTypes(); foreach (var controller in controllers) { foreach (var method in controller.GetMethods()) { if (method.GetCustomAttribute(typeof(CommandAttribute)) is CommandAttribute) { commands.Add(new Command(controller, method)); } } } return(commands.OrderBy(command => command.Name).ToList()); }