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

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

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

有帮助吗?

解决方案

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

来自 Interlocked.Exchange 的文档:

  

此方法仅支持引用类型

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top