Observable.FromEvent не завершается - PullRequest
1 голос
/ 19 марта 2012
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;

Мой метод MainForm_Load перестает выполняться после того, как я вызываю Observable.FromEvent. Кто-нибудь может помочь?

1 Ответ

2 голосов
/ 20 марта 2012

Попробуйте позвонить 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 в вашу тему может убить ваш код. Лучше просто чередовать запросы.

...