Esempio n. 1
0
 private static bool IsPresent(CmdArgument atr, bool param = false)
 {
     for (int i = 0; i < _split.Length; i++)
     {
         var item = _split[i];
         if (param)
         {
             if ((item == "-" + atr.ShortName) || (item == "--" + atr.LongName))
             {
                 if (i + 1 <= _split.Length - 1)
                 {
                     return(!_split[i + 1].StartsWith("-") && !_split[i + 1].StartsWith("--"));
                 }
                 else
                 {
                     return(false);
                 }
             }
         }
         else if ((item == "-" + atr.ShortName) || (item == "--" + atr.LongName))
         {
             return(true);
         }
     }
     return(false);
 }
Esempio n. 2
0
        private static string ParametersHelp(object SettingsObject)
        {
            StringBuilder result = new StringBuilder();

            if (SettingsObject == null)
            {
                return("\tNo arguments or switches required");
            }
            Type t = SettingsObject.GetType();

            if (!t.IsClass)
            {
                throw new ArgumentException("SettingsObject must be class");
            }
            var properties = t.GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);

            foreach (var property in properties)
            {
                if (!property.CanRead || !property.CanWrite)
                {
                    continue;
                }
                var attributes = property.GetCustomAttributes(true);
                foreach (var attribute in attributes)
                {
                    if (attribute is EnumArgument)
                    {
                        CmdArgument cmd = (CmdArgument)attribute;
                        result.AppendFormat("\t-{0} or {1}, required: {2}\r\n", cmd.ShortName, cmd.LongName, cmd.Required);
                        string[] values = Enum.GetNames(property.PropertyType);
                        result.AppendFormat("\t{0}\r\n", cmd.Description);
                        result.AppendFormat("\tPossible values:\r\n\t\t{0}\r\n", String.Join("\r\n\t\t", values.Select(p => p.ToString()).ToArray()));
                    }
                    if (attribute is CmdArgument)
                    {
                        CmdArgument cmd = (CmdArgument)attribute;
                        result.AppendFormat("\t-{0} or {1}, required: {2}\r\n", cmd.ShortName, cmd.LongName, cmd.Required);
                        result.AppendFormat("\t{0}\r\n\r\n", cmd.Description);
                    }
                }
            }
            return(result.ToString());
        }
Esempio n. 3
0
 private static string GetPararm(CmdArgument atr)
 {
     for (int i = 0; i < _split.Length; i++)
     {
         var item = _split[i];
         if ((item == "-" + atr.ShortName) || (item == "--" + atr.LongName))
         {
             if (i + 1 <= _split.Length - 1)
             {
                 return(_split[i + 1]);
             }
             else
             {
                 return(null);
             }
         }
     }
     return(null);
 }