/// <summary> /// Добавление команд вместе с их синонимами в словарь команд /// </summary> public void AddCommands() { foreach (var currComm in Commands) { AllComm.Add(currComm.Name, currComm); foreach (var synonym in currComm.Synonyms) { AllComm.Add(synonym, currComm); } } }
/// <summary> /// Поиск команды в словаре среди имени и его синонимов /// </summary> /// <param name="currCommand">Имя команды, заданное пользователем</param> /// <returns>Возвращает экземпляр класса команды</returns> private ICommand FindCommand(string currCommand) { currCommand = currCommand.ToLower(); try { // Проверка наличия в словаре по имени if (AllComm.ContainsKey(currCommand)) { return(AllComm[currCommand]); } throw new KeyNotFoundException(); } catch (KeyNotFoundException) { Console.WriteLine("Команда '{0}' не найдена", currCommand); } catch (Exception e) { Console.WriteLine(e); } return(null); }