1
调用父类和子类的静态构造函数的顺序是什么?调用父类和子类的静态构造函数的顺序是什么?
class A { static A() { MessageBox.Show("Yaht"); } }
class B : A { static B() { MessageBox.Show("Zee"); } }
class C : A { static C() { MessageBox.Show("Zey"); } }
static void Main()
{
B b = new B();
C c = new C();
}
我现在可以测试它......如果我有一个编译器可用。
+1,我获得相同的行为。现在,为什么?父静态构造函数首先被调用是不是更有意义?如果B在A中引用了尚未初始化的静态字段,该怎么办? – Cameron 2011-03-09 00:37:13
在这种情况下,A的静态构造函数将在引用该字段之前运行。 – 2011-03-09 00:41:54
其实,我希望能够多次调用父类的静态构造函数。 – pyon 2011-03-09 13:35:09