Exemple #1
0
            private static string ShortOptionUsage(GetOptOption o)
            {
                if (o.Short == null)
                {
                    return(string.Empty);
                }

                return(o.IsFlag
                    ? $"{ShortPrefix}{o.Short} | "
                    : $"{ShortPrefix}{o.Short}<{Usage(o.Type)}> | ");
            }
Exemple #2
0
 public static IEnumerable <GetOptOption> GetOptions(object options)
 {
     if (options != null)
     {
         foreach (var p in options.GetType().GetProperties())
         {
             if (IsOption(p))
             {
                 var o = new GetOptOption(options, p);
                 yield return(o);
             }
             else if (IsOptionsContainer(p))
             {
                 var container          = p.GetValue(options);
                 var optionsOfContainer = GetOptions(container).ToList();
                 foreach (var i in optionsOfContainer)
                 {
                     yield return(i);
                 }
             }
         }
     }
 }
Exemple #3
0
 private static string LongOptionUsage(GetOptOption o)
 {
     return(o.IsFlag
         ? $"{LongPrefix}{o.Long}"
         : $"{LongPrefix}{o.Long}=<{Usage(o.Type)}>");
 }
Exemple #4
0
 private static object[] ParseParameters(MethodInfo method, string[] arguments)
 {
     return(method.GetParameters()
            .ZipOrDefault(arguments, (p, v) => GetOptOption.Parse(p.ParameterType, v))
            .ToArray());
 }