Exemple #1
0
 public void ParseArgs(Command command)
 {
     if (command.format == null)
     {
         args = SplitByQuotes(argsString);
     }
     else
     {
         args = Regex.Match(argsString, command.format, RegexOptions.Compiled).Groups.Cast <Group>().Skip(1).ToDictionary(g => g.Name, g => g.Value); // сопоставим строку с регулярным выражением, получим реализующую интерфейс IEnumerable<T> коллекцию, пропустим первый элемент, учтя, что это исходная строка, спроецируем каждую группу в пару, где ключ - имя группы, а значение - полученная строка, получим словарь как совокупность этих пар
     }
 }
Exemple #2
0
        public static CommandArgs Create(string originalText, string prefix, string command, string argsString, MultiIndexableCollection args)
        {
            CommandArgs result = new CommandArgs();

            result.originalText = originalText;
            result.prefix       = prefix;
            result.command      = command;
            result.argsString   = argsString;
            result.args         = args;
            return(result);
        }