Пример #1
0
        public Command Select(string commandName, List <Command> availableCommands)
        {
            var command = new MatchSelector <Command>().Match(commandName, availableCommands, c => c.Name);

            if (command != null)
            {
                return(command);
            }

            var exception = new CommandNotFoundException(commandName);

            exception.AvailableCommands.AddRange(availableCommands);

            var possibleCommands = new MatchSelector <Command>().PartialMatch(commandName, availableCommands, c => c.Name);

            exception.PossibleCommands.AddRange(possibleCommands);

            throw exception;
        }
Пример #2
0
        public CommandAction Select(string actionName, Command command, IEnumerable <CommandAction> availableActions)
        {
            CommandAction action = new MatchSelector <CommandAction>().Match(actionName, availableActions, c => c.Name);

            if (action != null)
            {
                return(action);
            }

            var exception = new CommandActionNotFoundException(actionName, command);

            exception.AvailableActions.AddRange(availableActions);

            var possibleActions = new MatchSelector <CommandAction>().PartialMatch(actionName, availableActions, c => c.Name);

            exception.PossibleActions.AddRange(possibleActions);

            throw exception;
        }