在同一类c#中使用in构造函数调用Constructor并在同一构造函数中调用基本Constructor

时间:2019-02-19 06:41:34

标签: c# constructor

我有class A,它是从class B继承的。 class B具有以下构造函数:

public class B
{
    public B(int num) { ... }
}

A具有默认构造函数。 有没有一种方法可以在class A中实现构造函数,该构造函数从class B调用 base构造函数,然后从class A调用 default构造子 ? 可以使用basethis的东西:

public class A : B
{
    public A() { ... }

    public A(int num) : base(num), this()
    { ... }
}

2 个答案:

答案 0 :(得分:6)

您的代码无法编译public A()无法调用基础B(int num)构造函数(应该以{{1​​}}的形式传递?)< / p>

您可以将逻辑从num移到A()并使用构造函数链接来实现A(int num)

A()

答案 1 :(得分:-1)

您可以像这样使用静态构造函数

public class B
    {
        public B(int num)
        {
            Console.Write("B");
        }
    }

    public class A : B
    {
        static A()
        {
            Console.Write("A");
        }

        public A(int num) : base(num)
        {

        }
    }