嗨,大家好,我有一个ExternalDataService,它不断发射实时数据,它包含在lib中。Reactive extensions处理事件处理程序
我有赞同,并提出一个可观测的更新包装类..
public class MyService
{
private ExternalDataService _externalDataService;
public MyService()
{
_externalDataService= new ExternalDataService();
}
public IObservable<double> GetData()
{
return Observable.Create<double>(i =>
{
_externalPriceService.OnDataChanged += (s, e) => { i.OnNext(e); };
return() =>
{
// what do I do here?
};
});
}
}
消耗掉......
var p = new MyService();
var disposable = p.GetData().Subscribe(i => Console.WriteLine(i));
我怎么会从_externalPriceService.OnDataChanged
取消当Dispose
被称为在一次性?
感谢您的答复,你会介意使用我的代码片段向我展示一个例子吗?谢谢 – Andy 2013-05-06 10:11:40
@Andy自己尝试一下,查看所列方法的文档,并搜索现有示例。如果在这样做之后,你仍然遇到问题,那么编辑问题(或者询问一个新问题),结合你所尝试的内容,以及为什么它不起作用。 – Servy 2013-05-06 16:17:14
@Andy为你更新了我的答案。 – 2013-05-07 19:47:39