Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
sync.Events.RegisterHandler<long, FileProgressInfo, ProgressInfo>("share.file.progress",
x => _loads.ContainsKey(x) ? _loads[x] : null,
(o, h) => o.Progress += h,
(o, h) => o.Progress -= h);
это вынуждает приложение реагировать (to react), отсюда и название «Реактивные» (reactive)
Пишите чистый код с Реактивными Расширениями (Reactive Extensions)