3

なぜvar b = new B()最初にstatic B().ctorを入力し、インスタンスコンストラクターが(および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 に答える