2017-02-02 4 views
2

Я пытаюсь использовать аргумент bool в своем консольном приложении. Я использую пакет CommandLineParser, но ошибка возврата парсера.Командная строка - аргумент bool не работает

это мой вариант

[Option("randomize", Required = false, DefaultValue = false, HelpText = "Enter \"true\" for the random selection")] 
    public bool Randomize { get; set; } 

аргумент: --randomize=true

Я использую Parser.Default.ParseArguments

Любая идея, почему это не работает?

+0

Это не стандарт C#. Думаю, вы используете для этого библиотеку? Пожалуйста, опубликуйте [mcve]. – nvoigt

+0

нет, я использую [link] (https://commandline.codeplex.com/) –

+3

Итак, вы * делаете * пользуетесь библиотекой. Это не плохо, но вам нужно это упомянуть. И нам все еще нужен [mcve]. – nvoigt

ответ

1

Вам не нужно добавлять true или false в качестве значения аргумента - CommandLineParser просто установите значение true, если аргумент присутствует.

Так что это будет передавать значение истины:

--randomize 

Так что, если ваше приложение называется ParserApp следующее проходит true

ParserApp --randomize 

Хотя ниже линии будет проходить false

ParserApp 

Quick Start guide имеет пример использования логического параметра.

Смежные вопросы