[英]Calling Constructor with in constructor in same class c# and calling to base Constructor in the same Constructor
我有class A
继承自class B
class A
class B
。 class B
有以下构造函数:
public class B
{
public B(int num) { ... }
}
类A
具有默认的构造函数 。 是否有实现的构造函数的方式class A
这就要求从基本构造 class B
,并呼吁从默认的构造函数 class A
? 可以使用base
东西, this
:
public class A : B
{
public A() { ... }
public A(int num) : base(num), this()
{ ... }
}
你的代码没有编译 : public A()
没有办法调用base B(int num)
构造函数(应该作为num
传递什么?)
您可以将逻辑从A()
移动到A(int num)
并使用构造函数链接来实现A()
public class A : B
{
public A(): this(0) {} //TODO: provide default num here
public A(int num) : base(num)
{
//TODO: implement logic here
}
}
您可以使用这样的静态构造函数
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)
{
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.