VendingMachine.Console.CommandParserRepository.FindParser C# (CSharp) Method

FindParser() public method

public FindParser ( string inCommand ) : Func
inCommand string
return Func
        public Func<IParseResult> FindParser(string inCommand)
        {
            if (! string.IsNullOrEmpty(inCommand)) {
                var tokens = inCommand.Split(' ');

                Func<string[], IParseResult> parser;
                if (mParsers.TryGetValue(tokens[0], out parser)) {
                    return () => {
                        return parser(tokens);
                    };
                }
            }

            return () => {
                return new ParseErrorResult(ParseResultStatus.NotSupportedCommand);
            };
        }

Usage Example

Example #1
0
        private bool ProcessCommand()
        {
            var command = ReadCommand();

            if (command == TerminateCommand)
            {
                return(false);
            }

            var parser      = mParserRepo.FindParser(command);
            var parseResult = parser();

            var runner = mRunnerRepo.FindRunner(parseResult, this.LogUpdated);

            runner();

            return(true);
        }
All Usage Examples Of VendingMachine.Console.CommandParserRepository::FindParser