Vag*_*lov 5 c# static-initialization c#-4.0 windows-phone-8
我有一个静态类,其静态字段已初始化到位:
private static SomeType _instance = new SomeType();
Run Code Online (Sandbox Code Playgroud)
此代码是在多个平台上使用的可移植类库的一部分.在桌面平台上一切正常,但在为Windows Phone 8编译时,_instance为空.但是,如果我将初始化移动到默认的静态构造函数,则_instance会正确初始化.
我试图寻找这种行为的解释,但没有找到任何可以解释它的东西.
更新.我花了一些时间尝试创建一个可重复的步骤序列来重现错误,但在某些时候,即使我切换回原始代码,也不再发生错误.我得出的结论是,这是一个误报,问题显然是由其他原因造成的.离开它没有解释我感到不舒服,但到目前为止,我没有理由相信这与静态字段初始化有关.