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?

¿Fue útil?

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