在Windows Phone 8 C#app中不调用静态字段初始值设定项

时间:2014-08-15 14:50:05

标签: c# c#-4.0 windows-phone-8 static-initialization

我有一个带有静态字段的静态类,该字段已初始化:

private static SomeType _instance = new SomeType();

此代码是在多个平台上使用的可移植类库的一部分。在桌面平台上一切正常,但在为Windows Phone 8编译时,_instance为空。但是如果我将初始化移动到默认的静态构造函数,则_instance会正确初始化。

我试图搜索此行为的解释,但没有找到任何可以解释它的内容。

更新即可。我花了一些时间尝试创建一个可重复的步骤序列来重现错误,但在某些时候,即使我切换回原始代码,也不再发生错误。我得出的结论是,这是一个误报,问题显然是由其他原因造成的。离开它没有解释我感到不舒服,但到目前为止,我没有理由相信这与静态字段初始化有关。

1 个答案:

答案 0 :(得分:0)

您需要确保没有其他内容正在更新静态值,因为静态属性将在创建应用程序域时初始化。