Exemplo n.º 1
0
 /// <summary>
 /// Initializes <see cref="ArgumentHelpData" />
 /// </summary>
 /// <param name="name"></param>
 /// <param name="description"></param>
 /// <param name="modifiers"></param>
 /// <param name="parameterType"></param>
 public ArgumentHelpData(string name, string description, ArgumentModifiers modifiers, Type parameterType)
 {
     Name          = name;
     Description   = description;
     Modifiers     = modifiers;
     ParameterType = parameterType;
 }
Exemplo n.º 2
0
        /// <summary>
        /// Parse a collection of <see cref="ArgumentInfo"/> from string.
        /// <para>If argument is null or empty, returns a empty collection.</para>
        /// </summary>
        /// <param name="argText">String that indicates arguments</param>
        /// <returns>A collection of <see cref="ArgumentInfo"/></returns>
        protected static IEnumerable <ArgumentInfo> ParseArguments(string argText)
        {
            if (string.IsNullOrEmpty(argText))
            {
                return(Enumerable.Empty <ArgumentInfo>());
            }

            argText = EscapeMultiDimensionalArray(argText);

            return(argText.Split(",", "<", ">", d => d == 0)
                   .Select(a => ArgumentRegex.Match(a))
                   .Where(m => m.Success)
                   .Select(m =>  new ArgumentInfo(ParseType(m.Groups[2].Value),
                                                  m.Groups[3].Value,
                                                  ArgumentModifiers.Parse(m.Groups[1].Value))));
        }