The following code shows how to create IObserable object from EventHandler delegator.
public CustomEventArg : EventArg { public int Value { get; set; } } public class CustomOtherClass { public event EventHandler<CustomEventArg> OnCustEvent; } public class Test { private IObservable<CustomEventArg> m_obEvent; private CustomOtherClass m_other = new CustomOtherClass(); public IObservable<CustomEventArg> ObserverCustomEvent { get { return m_obEvent; } } Test() { m_obEvent = Obserable.FromEvent<EventHandler<CustomEventArg>, CustomEventArg>(h => { EventHandler<CustomEventArg> handler = (sender, e) => { h(e); } return handler; }, f => m_other.OnCustomEvent += f, f => m_other.OnCustomEvent -= f); } }
Advertisements