Interlocked.Exchange kann nicht mit Generika verwendet werden?
-
05-07-2019 - |
Frage
Ich bin eine generische Klasse zu schreiben, wo ich brauche Verschlungene zu verwenden.
T test1, test2;
Interlocked.Exchange<T>(ref test1, test2);
Dies wird nicht kompilieren. So bin ich gezwungen Exchange zu verwenden (Object, Object) statt selbst tho MSDN Ratschläge nicht, dass es so zu benutzen?
Lösung
Dies funktioniert, vorausgesetzt, Ihre generische Klasse die gleichen Einschränkungen wie Interlocked.Exchange<T>
hat, nämlich where T: class
.
Von der Dokumentation für Interlocked.Exchange :
Diese Methode unterstützt nur Referenztypen
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow