передать её в WaitAny/WaitAll после вызова Dispose?
Проблема в реализации CancelationToken. Если передать CancelationToken.Handle в WaitAll, то вместо того, чтобы дождаться всех сигналов, мы свалимся с ObjectDisposedException. Из-за чего WaitAll нельзя использовать никогда.
И я вот думаю:
а) Не диспозить их, и пущай GC страдает.
б) Всё-таки написать безопасную реализацию WaitAll и запретить стандартную на уровне код-анализа.
Это особенность диспоза у инстанса Task, на сколько я помню он виртуальный, можно овверайднуть поведение
Обсуждают сегодня