将Observable.FromEvent与WebClient.DownloadProgressChanged一起使用

时间:2011-01-29 18:40:21

标签: system.reactive

我正在尝试使用Reactive Extensions(Rx)订阅WebClient.DownloadProgressChanged。据我所知,因为DownloadProgressChanged使用自定义委托类型,我需要使用非常冗长的FromEvent重载:

var progress = Observable.FromEvent<DownloadProgressChangedEventHandler,
                                    DownloadProgressChangedEventArgs>(
                   h => new DownloadProgressChangedEventHandler(h), 
                   h => client.DownloadProgressChanged += h,
                   h => client.DownloadProgressChanged -= h);

但是,progress的类型为IObservable<IEvent>,而不是预期的IObservable<IEvent<DownloadProgressChangedEventArgs>>

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我刚测试了这个,进度是

类型
   IObservable<IEvent<DownloadProgressChangedEventArgs>>.

您使用的是什么版本的Rx?我刚刚测试使用最新版本(v1.0.2838.0)