首页 > 解决方案 > 为什么我得到“非泛型方法 Parser.ParseArguments(string[], object) 不能与类型参数一起使用”

问题描述

我在 C# 的项目中实现命令行解析器

https://github.com/commandlineparser/commandline

我正在尝试创建一个命令行工具,它将为数据库连接提供参数

  1. 服务器地址
  2. 数据库目录
  3. 用户名(如果未集成)
  4. 密码

我创建了一个具有选项的 Options.cs 类

public class Options
{
    [Option('s', "dbServer", Required = true, HelpText = "The database server for connections.", DefaultValue = "localhost")]
    public string DbServer { get; set; }

    [Option('c', "dbCatalog", Required = true, HelpText = "The database catalog for connections.", DefaultValue = "Portal")]
    public string DbCatalog { get; set; }

    [Option('u', "dbUser", Required = true, HelpText = "The database user for connections.", DefaultValue = null)]
    public string DbUser { get; set; }

    [Option('p', "dbPassword", Required = true, HelpText = "The database password for connections.", DefaultValue = null)]
    public string DbPassword { get; set; }
}

但是当我试图解析我的 Main 方法中的选项时......

public static void Main(string[] args)
{
    Parser.Default.ParseArguments<Options>(args)
        .WithParsed(RunOptions);
}

(“.ParseArgument”下的红色之字形线,当我将鼠标悬停在它上面时,我得到了这些)->

Exception : ArgumentNullException 

The non generic method Parser.ParseArguments(string[], object) cannot be used with type arguments

谁能告诉这里出了什么问题...我按照上面提到的链接进行操作,应该不那么难。

标签: c#asp.netcommand-line-parser

解决方案


推荐阅读