Interlocked.Exchange不能与泛型一起使用?

时间:2009-09-10 19:56:06

标签: c# generics interlocked

我正在编写一个通用类,我需要使用Interlocked。

T test1, test2;
Interlocked.Exchange<T>(ref test1, test2);

这不会编译。所以我被迫使用Exchange(对象,对象)而不是MSDN建议不要那样使用它吗?

1 个答案:

答案 0 :(得分:10)

如果您的通用类具有与Interlocked.Exchange<T>相同的约束,即where T: class,这将有效。

来自Interlocked.Exchange的文档:

  

此方法仅支持引用类型