public Task Run(string[] args) { ICommandLineTask task = kernel.Resolve <ICommandLineTask>(args[1]); Console.WriteLine(task.HelpText); return(Task.CompletedTask); }
private static async Task Run(string[] args) { HttpConnectionSettings settings = new( ConfigurationManager.AppSettings["UrlScheme"], Convert.ToInt32(ConfigurationManager.AppSettings["Port"])); IWindsorContainer container = new WindsorContainer() .Register(Component.For <HttpConnectionSettings>().Instance(settings)) .Register( Classes.FromThisAssembly() .BasedOn <ICommandLineTask>() .Configure(x => x.LifeStyle.Transient.Named( x.Implementation.Name.Replace("CommandLineTask", string.Empty))) .WithServiceFromInterface(typeof(ICommandLineTask))); if (args.Length < 1) { Usage(container); return; } try { ICommandLineTask task = container.Resolve <ICommandLineTask>(args[0]); await task.Run(args); } catch (Exception e) { Logger.Error(e, "Unhandled exception"); } }