关键是什么?
请参考上图中的这个问题。上图中的每个类都包含一个实例构造函数和静态构造函数。 B类派生自A类。现在开始质疑,在以下每种情况下,构造函数的序列将在1,2,3和4之间调用。
a a = new A();
B b = new A();
A c = new B();
B d = new B();
参考上图,Method()将在下面的情况分别针对方法重载和方法隐藏的情况下调用类。方法编号为5和6
a.Method();
弘();
c.Method();
d.Method();
答案 0 :(得分:0)
这实际上很容易测试
然而
Static Constructors (C# Programming Guide)
静态构造函数用于初始化任何静态数据,或者 执行仅需要执行一次的特定操作。它 在创建第一个实例或任何实例之前自动调用 静态成员被引用。
第一次访问类时会调用静态构造函数。因此,如果访问B,则首先调用B的静态构造函数,直到使用A时才调用A的静态构造函数。如果先使用A,则首先调用A的静态构造函数,然后再调用。
初始化类时将调用实例构造函数