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?

Foi útil?

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
scroll top