假设我有2个类:
public abstract class Foo
{
static Foo()
{
print("4");
}
}
public class Bar : Foo
{
static Bar()
{
print("2");
}
static void DoSomething()
{
/*...*/
}
}
假设这是我第一次访问Bar类,在调用Bar.DoSomething()
后,我期望事件的顺序是:
- Foo的静态构造函数(同样假设为首次访问)》打印
4
- Bar的静态构造函数》打印
2
- 执行
DoSomething
总之,我希望输出42
。
经过测试,看起来只有2
被输出。
那甚至不是一个答案。
你能解释一下这种行为吗?