C# – Rx framework to create Observable from EventHandler

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
This entry was posted in .NET, Programming. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s