【发布时间】:2013-12-13 13:17:23
【问题描述】:
在 Windows Phone 8 中(仅在设备上!)尝试运行以下代码:
public MainPage()
{
InitializeComponent();
var myTrue = GetTrue();
Debug.WriteLine(myTrue);
// false
}
[MethodImpl(MethodImplOptions.Synchronized)]
private static bool? GetTrue()
{
return true;
}
你会看到myTrue总是False!为什么?!怎么可能?!
更新:在设备上测试:诺基亚 Lumia 920、HTC 8X、诺基亚 Lumia 925
【问题讨论】:
-
myTrue.Value怎么样? -
同样的结果。结果会有所不同,如果方法不是静态的或不是布尔的?或者如果方法未标记为 MethodImplOptions.Synchronized
-
嘎嘎声就像一个抖动的错误,之前优化器有问题。在 connect.microsoft.com 上报告此问题,不要忘记提及电话详细信息。一种可能的解决方法是 [MethodImpl(MethodImplOptions.NoInlining)]
-
@HansPassant 将您的评论作为答案发布是否有意义,以便可以从未回答的列表中删除此问题?
-
OP 应该说明哪个设备可以复制它。
标签: c# windows-phone-8