标签: c# generics interlocked
我正在编写一个通用类,我需要使用Interlocked。
T test1, test2; Interlocked.Exchange<T>(ref test1, test2);
这不会编译。所以我被迫使用Exchange(对象,对象)而不是MSDN建议不要那样使用它吗?
答案 0 :(得分:10)
如果您的通用类具有与Interlocked.Exchange<T>相同的约束,即where T: class,这将有效。
Interlocked.Exchange<T>
where T: class
来自Interlocked.Exchange的文档:
此方法仅支持引用类型