继承类上的C#无参数构造函数

继承类上的C#无参数构造函数,c#,inheritance,constructor,C#,Inheritance,Constructor,希望是一个简单的问题 我需要序列化一个内置类,在本例中,iProperty继承自“PropertyDescriptor”。为了实现这个iProperty需要一个无参数构造函数,而基类没有这样的构造函数,如果我尝试添加构造函数,我会被告知基类不包含一个带0个参数的方法,这是正确的。 我如何回避这个问题 谢谢 范例 public class iProperty : PropertyDescriptor { private string propName;

希望是一个简单的问题

我需要序列化一个内置类,在本例中,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
{

    public iProperty()
        : base(someDefaults)
    {
    }
}

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

我认为我们需要查看
PropertyDescriptor
类(或者至少是它的构造函数)。您可能必须为
iProperty
创建一个可序列化的包装器,使用一个方法
GetiProperty
或基于序列化信息创建iProperty对象的等效方法。没有解决构造函数要求的方法。请显示您的iProperty无参数构造函数。这可以使用默认值调用一个现有的PropertyDescriptor构造函数。因此,如果我要使iProperty成为一个外部类以便可以序列化它,我将如何将该类集成到上述代码中?感谢您可以使用组合而不是继承,并使用属性“[XmlIgnore]”标记PropertyDescriptor字段。或者将PropertyDescriptor更改为接口。或者为PropertyDescriptor创建无参数构造函数。这实际上取决于您的体系结构和限制。谢谢,已经尝试过了,它报告“有一个错误反映类型”不起作用,因为它会导致序列化异常-“错误反映类型”如何向作为dotnet一部分的基类添加构造函数?我认为PropertyDescription是您的类。如果是点网,则不能添加构造函数。
public class iProperty : PropertyDescriptor
{

    public iProperty()
        : base(someDefaults)
    {
    }
}