相关疑难解决方法(0)

如何使用NDesk.Options强制执行所需的命令行选项?

我只是编写一个控制台实用程序,并决定使用NDesk.Options进行命令行解析.我的问题是,如何强制执行所需的命令行选项?

我在文档中看到:

具有所需值的选项(将"="附加到选项名称)或可选值(将":"附加到选项名称).

但是,当我=在选项名称末尾添加a 时,行为没有区别.理想情况下,Parse方法会抛出异常.

我还需要做些什么吗?

这是我的测试代码:

class Program
{
    static void Main(string[] args)
    {
        bool show_help = false;
        string someoption = null;

        var p = new OptionSet() {
            { "someoption=", "Some String Option", v => someoption = v},
            { "h|help",  "show this message and exit", v => show_help = v != null }
        };

        List<string> extra;
        try
        {
            extra = p.Parse(args);
        }
        catch (OptionException e)
        {
            System.Console.Write("myconsole: ");
            System.Console.WriteLine(e.Message);
            System.Console.WriteLine("Try `myconsole --help' for more information."); …
Run Code Online (Sandbox Code Playgroud)

c# console-application command-line-parsing ndesk.options

34
推荐指数
1
解决办法
1万
查看次数