2012-05-04 33 views
4

我想在便攜式類庫項目中使用Interlocked類的方法,並根據MSDN(here)在可移植框架中支持Interlocked類。不幸的是,似乎只有部分互鎖方法可用。例如,我可以找到「Read」和Exchange(Int64,Int64)。 有誰知道他們是藏在別處還是隻是沒有實現?如果是這樣,爲什麼?可移植類庫支持Interlocked.Read和'long'重載嗎?

回答

2

便攜式庫是一種識別您的目標平臺上可用的通用(子集)表面區域的方法,它不會在此子集之外或之外公開或添加其他API。這就是爲什麼一些成員有所不同

當MSDN表示在可移植性中支持給定的API時,它確實意味着當您選擇特定的平臺組合時API可用。例如,在創建新的可移植類庫時,在此對話框中選擇.NET Framework & Windows應用商店應用程序(而不是其他任何應用程序)時,可以使用Interlocked.Read。不幸的是,我們知道這在文檔中令人困惑,我們正在努力改進它。

在Visual Studio 2012的RTM和down-level tools的當前RC版本中,我們實際公開了Interlocked方法的Int64版本,但是,我們有一個定位Windows Phone的bug。這是不正確的,他們工作在Windows Phone(他們拋出NotSupportedException被調用時)。

+0

謝謝你解釋幕後發生了什麼 –