3

我正在编写一个需要使用互锁的通用类。

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

这不会编译。那么我是否被迫使用 Exchange(Object, Object) 而不是 MSDN 建议不要那样使用它?

4

1 回答 1

10

这将起作用,前提是您的泛型类具有与 相同的约束Interlocked.Exchange<T>,即where T: class.

来自Interlocked.Exchange的文档:

此方法仅支持引用类型

于 2009-09-10T20:00:24.240 回答