Question

J'écris une classe générique sur laquelle j'ai besoin d'utiliser Interlocked.

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

Ceci ne compilera pas. Suis-je obligé d’utiliser Exchange (Object, Object) même si le conseil MSDN ne l’utilise pas de cette façon?

Était-ce utile?

La solution

Cela fonctionnera, à condition que votre classe générique ait les mêmes contraintes que Interlocked.Exchange<T>, à savoir, where T: class.

À partir de la documentation pour Interlocked.Exchange :

  

Cette méthode ne prend en charge que les types de référence

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top