给定代码:
public class A
{
public A()
{
throw new Exception();
}
}
public class B : A
{
public B(int i)
{
}
}
然后运行该行:
var x = new B(2);
我永远不会期望A
' 的构造函数被击中(除非我添加base()
)到B
' 的构造函数声明的末尾。
奇怪的是,它似乎受到了打击(并引发了异常)。这是默认行为吗?这让我大吃一惊,因为我完全没想到A
的构造函数会被击中