编程语言
首页 > 编程语言> > c# – Interlocked.Exchange不能与泛型一起使用?

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

作者:互联网

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

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

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

解决方法:

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

来自Interlocked.Exchange的文档:

This method only supports reference types

标签:c,generics,interlocked
来源: https://codeday.me/bug/20190722/1498979.html