2009-09-10 3 views
3

Я пишу общий класс, где мне нужно использовать Interlocked.Interlocked.Exchange не может использоваться с дженериками?

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

Это не скомпилирует. Так что я вынужден использовать Exchange (Object, Object) вместо того, чтобы советом MSDN не использовать его таким образом?

ответ

10

Это будет работать, если ваш общий класс имеет те же ограничения, что и Interlocked.Exchange<T>, а именно: where T: class.

Из документов для Interlocked.Exchange:

Этот метод поддерживает только ссылочные типы

Смежные вопросы