var DeviceSubject = new Subject<NetworkEventArgs>();
Observable.FromEvent<EventHandler<NetworkEventArgs>, NetworkEventArgs>(h => Device.Connected += h, h => Device.Connected -= h)
.Subscribe(DeviceSubject);
Device.Connected事件声明如下......
public event EventHandler<NetworkEventArgs> Connected;
我调用Observable.FromEvent后,我的MainForm_Load方法停止执行。有人可以帮忙吗?
答案 0 :(得分:2)
尝试拨打FromEventPattern
。 FromEvent
适用于非标准事件。
var DeviceSubject = new Subject<NetworkEventArgs>();
Observable
.FromEventPattern<EventHandler<NetworkEventArgs>, NetworkEventArgs>(
h => Device.Connected += h,
h => Device.Connected -= h)
.Select(ep => ep.EventArgs)
.Subscribe(DeviceSubject);
正如旁注:小心使用这样的主题。这样做是一种常见的反模式。任何可观察的调用OnComplete
进入您的主题都可能会导致您的代码被删除。最好只链接查询。