Interlocked.Exchange no se puede usar con genéricos?
-
05-07-2019 - |
Pregunta
Estoy escribiendo una clase genérica donde necesito usar Interlocked.
T test1, test2;
Interlocked.Exchange<T>(ref test1, test2);
Esto no se compilará. Entonces, ¿estoy obligado a usar Exchange (Object, Object) en su lugar, incluso a través de los consejos de MSDN para no usarlo de esa manera?
Solución
Esto funcionará, siempre que su clase genérica tenga las mismas restricciones que Interlocked.Exchange<T>
, a saber, where T: class
.
De los documentos para Interlocked.Exchange :
Este método solo admite tipos de referencia
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow