Domanda

Sto scrivendo una classe generica in cui devo usare Interlocked.

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

Questo non verrà compilato. Quindi sono costretto a usare Exchange (Object, Object) invece che anche i consigli di MSDN di non usarlo in questo modo?

È stato utile?

Soluzione

Funzionerà, a condizione che la tua classe generica abbia gli stessi vincoli di Interlocked.Exchange<T>, vale a dire where T: class.

Dai documenti per Interlocked.Exchange :

  

Questo metodo supporta solo tipi di riferimento

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top