繁体   English   中英

继承类的C#Parameterless构造函数

[英]C# Parameterless Constructor on inherited class

希望是一个简单的问题

我需要序列化一个inherted类,在这个例子中,iProperty继承自'PropertyDescriptor'。 为了实现这个,iProperty需要一个参数较少的构造函数,而基类没有这样的构造函数,如果我试图添加一个construtor,我被告知基类不包含一个方法,该方法采用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)
    {
    }
}

您还可以在基类中实现无参数构造函数并使其受到保护。 这样,除派生类之外没有人可以调用它。

暂无
暂无

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

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