public static bool Parse(string[] args, AppArgs appArgs) { var help = false; var options = new OptionSet { { "help", "Выводит справку", v => help = v != null }, { "gr=", "Код отчета", v => appArgs.ReportId = int.Parse(v) }, { "manual=", "Флаг ручного запуска, в случае ручного запуска не производится проверка состояния отчета", v => appArgs.Manual = bool.Parse(v) }, { "inter=", "Флаг сигнализирующей что отчет готовится за период", v => appArgs.Interval = bool.Parse(v) }, { "dtFrom=", "Начало периода за который готовится отчет", v => appArgs.From = DateTime.Parse(v) }, { "dtTo=", "Окончание периода за который готовится отчет", v => appArgs.To = DateTime.Parse(v) }, }; options.Parse(args); if (help) { Win32.AttachConsole(Win32.ATTACH_PARENT_PROCESS); options.WriteOptionDescriptions(Console.Out); return(true); } return(false); }