lan*_*r16 2 c# inheritance constructor
C#中有没有办法调用祖父的构造函数?假设我有:
public class A
{
public A(parameterX x)
{
doSomething();
}
}
public class B : A
{
public B(parameterX x) : base(x)
{
doSomethingElse();
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有:
public class C : B
{
}
Run Code Online (Sandbox Code Playgroud)
我希望 C 中的构造函数调用 A 中的构造函数,我可以用什么来实现这个目的?有没有类似的东西:
public C(parameterX x) : base : base(x)
Run Code Online (Sandbox Code Playgroud)
或者我怎样才能从C调用A中的构造函数?
谢谢。
您不能调用祖父母类的构造函数。
但是,您也不需要这样做,因为基类已经这样做了。
当你写的时候public C(parameterX x) : base(x),它会调用B(x),而它又会调用A(x)。
一般来说,由于您的基类的构造函数将始终调用其基构造函数(您的祖父母),因此能够显式调用祖父母构造函数是没有意义的,因为这最终会构造它两次。
| 归档时间: |
|
| 查看次数: |
3197 次 |
| 最近记录: |