using System;
class A
...{
public static int X;
public static int Z=1; //order: 2
static A() ...{
X = B.Y + 1; //order: 3
}
}
class B
...{
public static int TT;
public static int Y = A.X + 1; //order: 1
static B() ...{} //order: 4
static void Main() ...{
Console.WriteLine("X = {0}, Y = {1}", A.X, B.Y); //order: 5
}
}
本文通过两个类A和B的实例演示了C#中静态构造函数的执行顺序及其如何解决静态成员之间的依赖问题。文章展示了当两个类的静态成员相互依赖时,编译器如何确定初始化顺序。
1574

被折叠的 条评论
为什么被折叠?



