【发布时间】:2021-06-04 05:51:29
【问题描述】:
使用CommandLineParser NuGet,当我在没有参数的情况下运行我的应用程序时,是否可以强制显示 --help 结果输出,就像我要运行我的应用程序一样......
myapplication.exe --help
目前,当我运行我的应用程序时,如果我没有指定任何选项,它不会显示帮助输出。它只是结束应用程序。我有许多不同的选项/标志/参数可以使用。他们都不应该被强迫自己,但我至少需要一个来使用或提供帮助。
我目前的实现...
public class Options
{
[Option(
'v',
Required = false,
HelpText = "Shows all debug information when processing."
)]
public bool Verbose { get; set; }
[Option(
Required = false,
HelpText = "Runs Test One."
)]
public bool TestOne { get; set; }
}
static void Main(string[] args)
{
try
{
var parserResults = Parser.Default.ParseArguments<Options>(args);
parserResults
.WithParsed<Options>(options => Run(options));
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.WriteLine("Main thread closing.");
}
static void Run(Options options)
{
// Verbose mode
if (options.Verbose)
{
m_Verbose = true;
Console.WriteLine("Verbose mode on.");
}
// Test
if (options.TestOne)
{
//do test
}
}
【问题讨论】:
-
@Sinatr 我想你可能误解了我的问题。因此,我对其进行了详细说明,希望它不值得被否决……我遇到的问题是,当我在没有参数的情况下运行我的应用程序时,我只能从我的示例中得到测试
Main thread closing.。我根本没有收到任何帮助文本,我希望它给我帮助文本。 -
你有异常吗?
-
什么都没有。让我觉得这是预期的用途。
-
除了我的回答之外,您还可以尝试
Options属性上的Group属性:github.com/commandlineparser/commandline/wiki/Option-Attribute
标签: c# command-line-arguments command-line-parser