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