C#错误:父级不包含带有0个参数的构造函数

我的代码是

public class Parent

{

public Parent(int i)

{

Console.WriteLine("parent");

}

}

public class Child : Parent

{

public Child(int i)

{

Console.WriteLine("child");

}

}

我收到错误消息:

父级不包含采用0个参数的构造函数

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

回答:

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

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

public Child(int i) : base(i)

{

Console.WriteLine("child");

}

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

protected Parent() { }

以上是 C#错误:父级不包含带有0个参数的构造函数 的全部内容, 来源链接: utcz.com/qa/408681.html

回到顶部