嗨,大家好,我有一個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