繁体   English   中英

不包含带'1'参数的构造函数

[英]does not contain a constructor that takes '1' arguments

我已经搜索了一些关于这个的话题,但是我仍然卡住了,我对c#相当新,这个错误开始让我头疼。 我正在尝试初始化列表,但我不断收到该错误消息。 非常欢迎任何帮助。

public static List<BookOperator> CreateBookOperators()     
    {
         List<BookOperator> ops = new List<BookOperator>();

        BookOperator op = new BookOperator(ops);
        ops.Add(op);

        return ops;
   }

这意味着您的类BookOperator没有任何构造函数正在进行争论。 如果您可以显示BookOperator的代码,那将会很有帮助。 我想你需要这个,我这么说是因为你当前的代码没有任何意义。 您将列表作为参数传递给类,并将同一个类添加到列表中。 循环对我来说没有意义

 BookOperator op = new BookOperator();
 ops.Add(op)

如果BookOperator对象需要知道它的所有者,那么BookOperator在其构造函数中至少需要一个参数。

public class BookOperator
{
    public List<BookOperator> BookOperators { get; private set; }
    public BookOperator(List<BookOperator> bookOperators)
    {
        BookOperators = bookOperators;
    }
}

在我看来,没有理由尝试将列表传递给书籍操作员。 钱连说:

public static List<BookOperator> CreateBookOperators()     
{
    List<BookOperator> ops = new List<BookOperator>();
    BookOperator op = new BookOperator();
    ops.Add(op); 
    return ops;
}

或更简洁:

public static List<BookOperator> CreateBookOperators() {
    return new List<BookOperator> {
        new BookOperator()
    };
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM