在子类中使用构造函数会引发错误

时间:2017-05-12 18:42:48

标签: c#

我一直在研究如何在 C# 中使用继承的类。我不知道为什么我的代码无效。

我想要实现的是拥有一个继承自另一个(Child)的类(Parent)。每个类都应该有自己的构造函数。错误如下:

  

<< CS7036没有给出符合要求的论据   <<形式参数' isOpen' ' Parent.Parent(bool)'

public class Parent
    {
        internal bool IsOpen;

        public Parent(bool isOpen)
        {
            this.IsOpen = isOpen;
        }
    }

    public class Child : Parent
    {
        public Child(bool isOpen)
        {
            this.IsOpen = isOpen;
        }
    }

2 个答案:

答案 0 :(得分:1)

您需要通过base关键字将其传递给父母:

public class Parent
{
    internal bool IsOpen;

    public Parent(bool isOpen)
    {
        this.IsOpen = isOpen;
    }
}

public class Child : Parent
{
    public Child(bool isOpen)
        : base(isOpen)
    {
    }
}

答案 1 :(得分:1)

您需要在子类中调用基类(Parent)的构造函数:

public class Parent
{
    internal bool IsOpen;

    public Parent(bool isOpen)
    {
        this.IsOpen = isOpen;
    }
}

public class Child : Parent
{
    public Child(bool isOpen) : base(isOpen)
    {
    }
}

这也使您无需再次在IsOpen的构造函数中设置Child