3

为什么var b = new B()首先进入static B().ctor 和 than而不是像实例构造函数那样(和 than )反之?static A() .ctorpublic A()public B()

public class A
{
    static A() {}
    public A() {}
}

public class B : A
{
    static B() {}
    public B() {}
}
4

1 回答 1

2

从技术上讲,首先输入的实例构造函数B。但它做的第一件事是调用构造函数,A然后才转到用户定义的主体。

所以我假设直接在进入构造函数之前需要运行B静态构造函数。B

然后 的构造函数B调用 的构造函数A,从而触发 的静态构造函数A

于 2012-02-04T13:10:05.167 回答