public class Temp
{
List<T> values = new List<T>;
static Temp()
{
System.Console.WriteLine("static constructor");
}
public Temp()
{
System.Console.WriteLine("general constructor");
}
}
另外请解释我将在何时创建List对象以及创建它的类型。
}
答案 0 :(得分:1)
首先初始化字段,然后调用静态构造函数,然后调用构造函数。
class Test
{
string variable = new Func<string>(() =>
{
Console.WriteLine("field initializer");
return "VARIABLE";
})();
static string staticvariable = new Func<string>(() =>
{
Console.WriteLine("static field initializer");
return "STATICVARIABLE";
})();
static Test()
{
System.Console.WriteLine("static constructor");
}
public Test()
{
System.Console.WriteLine("general constructor");
}
}
Test t = new Test();
outuput:
静态字段初始化程序
静态构造函数
现场初始化器
一般建设者
[编辑]
对不起,这是一个非静态字段,我没注意到它。
答案 1 :(得分:0)
首先调用静态ctor 然后值列表将是第二个和ctor 阅读beforefieldinit here。