mas*_*son 8 .net c# command-line-parser
我正在使用我在C#控制台应用程序.NET Framework 4.0中通过NuGet获得的命令行解析器库.
这是我的选择课......
class Options
{
[Option('p', "prompt", DefaultValue = true, HelpText = "Prompt the user before exiting the program.")]
public bool PromptForExit { get; set; }
[HelpOption]
public string GetUsage()
{
return HelpText.AutoBuild(this, (HelpText current) => HelpText.DefaultParsingErrorsHandler(this, current));
}
}
Run Code Online (Sandbox Code Playgroud)
这是我解析和使用选项的地方......
static void Main(string[] args)
{
Options options = new Options();
if (CommandLine.Parser.Default.ParseArguments(args, options))
{
if (options.PromptForExit)
{
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我已经尝试了各种各样的命令,试图让它在退出前不提示我,但它们都没有工作.是否有人熟悉这个库或者想知道如何从命令行获取PromptForExit选项是假的?
这是我尝试过的.
myprogram.exe
myprogram.exe -p false
myprogram.exe -p False
myprogram.exe -p FALSE
myprogram.exe -p 0
myprogram.exe --prompt false
myprogram.exe --prompt False
myprogram.exe --prompt FALSE
myprogram.exe --prompt 0
Run Code Online (Sandbox Code Playgroud)
Rap*_*aus 10
如果你看这个,你会看到
Bool选项如果存在则为true,如果不存在则为false.
所以就这么做
myprogram.exe
Run Code Online (Sandbox Code Playgroud)
而且PromptForExit应该是假的.
编辑
在你的情况下:否定你的财产
[Option('p', "noprompt", DefaultValue = false, HelpText = "Don't prompt the user before exiting the program.")]
public bool NoPromptForExit { get; set; }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3065 次 |
| 最近记录: |