c#继承类的无参数构造函数
本文关键字:参数 构造函数 继承 | 更新日期: 2023-09-27 18:05:58
希望是一个简单的问题
我需要序列化一个继承类,在这个例子中iProperty继承自PropertyDescriptor。为了实现这个iProperty需要一个没有参数的构造函数,而基类没有这样的构造函数,如果我试图添加一个构造函数,我被告知基类不包含一个接受0个参数的方法,这是正确的。我该如何解决这个问题呢?
谢谢。
例子 public class iProperty : PropertyDescriptor
{
private string propName;
private object propValue;
// Need Parameterless Construtor ?
public iProperty(string pName, object pValue)
: base(pName, new Attribute[] { })
{
propName = pName;
propValue = pValue;
}
}
public class iProperty : PropertyDescriptor
{
private string propName;
private object propValue;
// Need Parameterless Construtor ?
public iProperty()
: base("placeholder", new Attribute[] { })
{
}
public iProperty(string pName, object pValue)
: base(pName, new Attribute[] { })
{
propName = pName;
propValue = pValue;
}
}
您可以创建一个无参数的构造函数,但是无论如何您必须调用一个基类构造函数
public class iProperty : PropertyDescriptor
{
public iProperty()
: base(someDefaults)
{
}
}
还可以在基类中实现无参数构造函数并使其受保护。这样除了派生类之外,没有人可以调用它。