为什么Synchronized方法总是返回false?

Rom*_*nok 21 c# windows-phone-8

在Windows Phone 8中(仅在设备上!)尝试运行此代码:

public MainPage()
{
    InitializeComponent();

    var myTrue = GetTrue();
    Debug.WriteLine(myTrue);
    // false
}

[MethodImpl(MethodImplOptions.Synchronized)]
private static bool? GetTrue()
{
    return true;
}
Run Code Online (Sandbox Code Playgroud)

你会看到myTrue永远是假的!为什么?!它怎么样?!

更新:在设备上测试:诺基亚Lumia 920,HTC 8X,诺基亚Lumia 925

hma*_*ezd 2

我认为这种行为是由于以下原因:

Windows 手机

不支持为 MethodImplAttribute 构造函数指定 Synchronized 选项,并且不会导致同步行为。

在这里检查http://msdn.microsoft.com/en-us/library/windowsphone/develop/system.runtime.compilerservices.methodimploptions%28v=vs.105%29.aspx