Interlocked.Exchange não pode ser usado com os genéricos?
-
05-07-2019 - |
Pergunta
Eu estou escrevendo uma classe genérica, onde eu preciso usar Interlocked.
T test1, test2;
Interlocked.Exchange<T>(ref test1, test2);
Isso não irá compilar. Então eu sou forçado a usar Exchange (Object, Object) em vez mesmo tho MSDN conselhos não usá-lo dessa forma?
Solução
Este trabalho, desde a sua classe genérica tem as mesmas limitações que Interlocked.Exchange<T>
, ou seja, where T: class
.
De docs para Interlocked.Exchange :
Este método só suporta tipos de referência
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow