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
이 경우 필드의 참조 전에 정적 생성자가 실행됩니다. –
사실, 부모의 정적 생성자가 두 번 이상 호출 될 수 있기를 바랬습니다. – pyon