为什么在继承类中输入static.conters的顺序与instance.conters不同
本文关键字:conters 顺序 instance 不同 static 继承 输入 为什么 | 更新日期: 2023-09-27 18:22:23
为什么var b = new B()
首先进入static B()
.ctor,然后进入static A()
.ctor
,而不是像实例构造函数那样(public A()
和public B()
)?
public class A
{
static A() {}
public A() {}
}
public class B : A
{
static B() {}
public B() {}
}
从技术上讲,首先输入B
的实例构造函数。但它所做的第一件事是调用A
的构造函数,然后才转到用户定义的主体。
因此,我假设在B
的构造函数被输入之前,B
的静态构造函数需要运行。
然后B
的构造函数调用A
的构造函数,从而触发A
的静态构造函数。