示例#1
0
        internal static async Task Run(
            IProgramArguments programArguments,
            IChannelManager channelManager)
        {
            var producers = channelManager.ProduceAsync(programArguments.GetInputData);
            var consumers = channelManager.ConsumeAsync();
            var result    = await channelManager.GetResultAsync(producers, consumers);

            programArguments.GetDataStore.Store(result);
            Console.WriteLine($"Done: Files written to {programArguments.GetDataStore.StoreLocation}");
        }
示例#2
0
        public bool TryParse(string[] args, out IProgramArguments programArguments)
        {
            programArguments = null;
            var result = Parser.Default.ParseArguments <Options>(args);

            if (result.Tag == ParserResultType.NotParsed)
            {
                return(false);
            }

            IProgramArguments programArgs = null;

            result.WithParsed(options => programArgs = new ProgramArguments(options));
            programArguments = programArgs;
            return(true);
        }