static async Task Main(string[] args) { var result = Parser.Default .ParseArguments <DownloadCommand, InstallCommand, ListCommand, NewCommand>(args); await result.MapResult ( async (DownloadCommand downloadCommand) => await DownloadParser.Parse(downloadCommand), async (InstallCommand installCommand) => await InstallParser.Parse(installCommand), async (ListCommand listCommand) => await Task.Run(() => ListParser.Parse()), async (NewCommand newCommand) => await NewParser.Parser(), async error => await Task.FromResult(1) ); }
public static async Task <int> Parse(InstallCommand option) { if (_parser == null) { _parser = new InstallParser(); } _parser.Options = option; try { await _parser.InstallTemplete(); Console.WriteLine("安装完成"); return(0); } catch (Exception e) { Console.WriteLine(e.Message); return(1); } }