可移植类库支持Interlocked.Read和'long'重载?

时间:2012-05-04 14:51:40

标签: .net portable-class-library

我想在可移植类库项目中使用Interlocked类的方法,并根据MSDN(here)在可移植框架中支持Interlocked类。不幸的是,似乎只有部分Interlocked方法可用。例如,我既不能找到“Read”也不能找到Exchange(Int64,Int64)。 有谁知道他们是隐藏在其他地方还是没有实施?如果是这样,为什么?

1 个答案:

答案 0 :(得分:2)

可移植库是一种识别您所定位的平台上可用的公共(子集)表面区域的方法,它不会在此子集之上或之外公开或添加其他API。这就是为什么有些成员不同。

当MSDN说便携式支持给定的API时,它实际上意味着当您选择某种平台组合时,API可用。例如,在这种情况下Interlocked.Read在选择.NET Framework&创建新的可移植类库时,对话框中的Windows应用商店(以及其他任何内容)。不幸的是,我们知道这在文档中很容易混淆,我们将来会努力改进它。

在Visual Studio 2012的RTM中,以及我们实际公开Inter64ed方法的Int64版本的down-level tools的当前RC版本,但是,我们有一个错误,它在面向Windows Phone时会暴露出来。这是不正确的,他们在Windows Phone中工作(他们在调用时抛出NotSupportedException)。