Ключи запуска консольного приложения

315
27 июля 2017, 23:25

Например в утилите ping есть свои аргументы. ping -n 1 localhost. Как такое реализовать в консольном приложении? Именно ключи, а не args в Main.

Answer 1

Воспользуйтесь библиотеками, которые упрощают обработку аргументов командной строки, переданных приложению. Одной из популярных и удобных в использовании является Command Line Parser Library.

Вот пример ее использования:

class Options {
  //как в примере с ping
   [Option('n', "lines",
        Default = 5U,
        SetName = "bylines",
        HelpText = "Lines to be printed from the beginning or end of the file.")]
    uint? Lines { get; set; }
  [Option('r', "read", Required = true,
    HelpText = "Input file to be processed.")]
  public string InputFile { get; set; }
  [Option('v', "verbose", DefaultValue = true,
    HelpText = "Prints all messages to standard output.")]
  public bool Verbose { get; set; }
  [ParserState]
  public IParserState LastParserState { get; set; }
  [HelpOption]
  public string GetUsage() {
    return HelpText.AutoBuild(this,
      (HelpText current) => HelpText.DefaultParsingErrorsHandler(this, current));
  }
}
static void Main(string[] args) {
  var options = new Options();
  if (CommandLine.Parser.Default.ParseArguments(args, options)) {
    // пример доступа
    if (options.Verbose) Console.WriteLine("Filename: {0}", options.InputFile);
  }
}
UPD#1 Как подключить?

В Package Manager консоли выполняем команду:

Install-Package CommandLineParser
READ ALSO
Горячие клавиши Visual Studio

Горячие клавиши Visual Studio

Столкнулся с проблемой, что в проекте WPF неудобно работать на пол окна с редактором XAML и пол окна с конструкторомСделал отображение на весь...

286
Как изменить цвет кнопки в Office365 ReactJs?

Как изменить цвет кнопки в Office365 ReactJs?

Столкнулся с банальной проблемойПри работе с bootstrap используются известные классы primary,info,warning для создания кнопки определенного цвета

367
Как сделать приложение на phantomjs

Как сделать приложение на phantomjs

Всем приветДелаю приложение на phantomjs, нужно сделать такое:

353
Почему fancybox работает криво в modx?

Почему fancybox работает криво в modx?

Ребята помогите в modx fancybox работает криво, проблема состоит в том, что при клике все нормально открывается, всплывает окно, но как только закрываешь...

339