


























先看代码
class Base
{
static Base()
{
Console.WriteLine("Base Static Constructor...");
}
public Base()
{
Console.WriteLine("Base Constructor...");
}
}
class Class1 : Base
{
static Class1()
{
Console.WriteLine("Class1 Static Construcotor...");
}
public Class1()
{
Console.WriteLine("Class1 Constructor...");
}
public static int x;
}
1. 执行
Class1.x = 13;
输出
Class1 Static Construcotor...
请注意!Base的静态构造方法并没有被执行。
2. 执行
new Class1();
输出
Class1 Static Construcotor...
Base Static Constructor...
Base Constructor...
Class1 Constructor...
请注意!
记住这些差别是有必要的,否则可能造成数据没有被初始化等潜在错误!
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。