草庐IT

C# 错误 : Parent does not contain a constructor that takes 0 arguments

coder 2023-07-07 原文

我的代码是

public class Parent
{

    public Parent(int i)
    {
        Console.WriteLine("parent");
    }
}

public class Child : Parent
{
    public Child(int i)
    {
        Console.WriteLine("child");
    }

}

我收到错误:

Parent does not contain a constructor that takes 0 arguments.

我知道问题是 Parent 没有带 0 个参数的构造函数。但我的问题是,为什么我们需要一个零参数的构造函数?为什么没有它代码就不能工作?

最佳答案

由于您没有显式调用父构造函数作为子类构造函数的一部分,因此插入了对无参数父构造函数的隐式调用。该构造函数不存在,因此您会收到该错误。

要纠正这种情况,您需要添加一个显式调用:

public Child(int i) : base(i)
{
    Console.WriteLine("child");
}

或者,您可以只添加一个无参数的父构造函数:

protected Parent() { } 

关于C# 错误 : Parent does not contain a constructor that takes 0 arguments,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7230544/

有关C# 错误 : Parent does not contain a constructor that takes 0 arguments的更多相关文章

随机推荐