我有class A
,它是从class B
继承的。
class B
具有以下构造函数:
public class B
{
public B(int num) { ... }
}
类A
具有默认构造函数。
有没有一种方法可以在class A
中实现构造函数,该构造函数从class B
调用 base构造函数,然后从class A
调用 default构造子 ?
可以使用base
和this
的东西:
public class A : B
{
public A() { ... }
public A(int num) : base(num), this()
{ ... }
}
答案 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)
{
}
}