何时在C#中初始化静态变量?
我想知道静态变量(在类中)何时出现在图片中(初始化)?是在实例构造函数首次调用之后还是在类加载之后?什么时候加载类?
回答:
哦,那很复杂。这取决于是否beforefieldinit
设置了标志,而标志(在C#中)又取决于是否有静态构造函数。更糟的是;在.NET 4中,
我相信 行为发生了变化,使其比以前更加“懒惰”。
坦白说,我不会在此处编写任何特定行为的代码。简单:只要您使用常规代码访问静态字段,它们就会在尝试使用它们之前进行初始化。
乔恩·斯基特(Jon
Skeet)在这里和这里对此都有很好的记录
以上是 何时在C#中初始化静态变量? 的全部内容, 来源链接: utcz.com/qa/427012.html