C#CommandLineParser
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#CommandLineParser相关的知识,希望对你有一定的参考价值。
尝试使用Microsoft.Extensions.Configuration.CommandLine。我认为这很容易,尽管缺乏文档(我能找到)。无论如何,请考虑这个小程序:
class Options
{
[Option('s', "srcSrvr",
Default = "PROD",
HelpText = "Source server name")]
public string SourceServer { get; set; }
}
public class Program
{
public static void Main(string[] args)
{
var result = Parser.Default.ParseArguments<Options>(args);
if (result.Tag == ParserResultType.NotParsed)
{
throw new ArgumentException("Invalid arguments supplied.");
}
Console.WriteLine(result.SourceServer);
}
}
}
由于未定义“result.SourceServer”,程序将无法编译。好的,那么它在哪里?
答案
标记Options
类public
。当没有访问修饰符时,默认值为internal
,因此看起来在不同程序集中的Parser
类型无法看到它。
另一答案
得到答案(顺便说一句,与var无关!)我需要将结果转换为Parser<Options>
,它公开了一个Value属性,它具有我需要的Options实例。
谢谢大家的欢呼。我总是对我在这里找到的广泛帮助印象深刻!
以上是关于C#CommandLineParser的主要内容,如果未能解决你的问题,请参考以下文章
CommandLineParser - 如果没有给出开关,则显示 --help 结果
CommandLineParser 库 - 如何将一个选项的输出用于下一个选项
[C++][原创]opencv中CommandLineParser使用
[C++][原创]opencv中CommandLineParser使用
csharp https://commandline.codeplex.com/上的CommandLineParser Nuget软件包的文档已过时。以下是更新的工作