从命令行解析器获取无效参数

本文关键字:获取 无效 参数 命令行 | 更新日期: 2023-09-27 18:33:20

我使用命令行解析器nuget。

var options = new Options();
bool isInputValid = CommandLine.Parser.Default.ParseArguments(args, options);

如何获取无效的参数?

从命令行解析器获取无效参数

1.9.71我没有看到任何选项可以在解析后从参数中获取无效令牌。但是,如果您升级到-预发布版本,即

<package id="CommandLineParser" version="2.0.275-beta" targetFramework="net45" />

此版本可以灵活地对解析的结果执行更多操作。因此,您可以轻松找到无效令牌,如下所示:

 var result = CommandLine.Parser.Default.ParseArguments<Options>(args);
 result.MapResult(
        options =>
        {
            // Do something with optios
            return 0;
        },
        errors =>
        {
            var invalidTokens = errors.Where(x => x is TokenError).ToList();
            if(invalidTokens != null)
            {
                invalidTokens.ForEach(token => Console.WriteLine(((TokenError)token).Token));
            }
            return 1;
        });