1

次のイベントから IObservable を作成しようとしています:

public delegate bool Handle<in T>(T obj, Foo foo);

 event Handle<Bar> Finance;

オブザーバブルを適切に作成する方法に関する提案はありますか?

Foo も Bar も EventArgs に基づいていないことに注意してください

ありがとう!

4

1 に答える 1

2

次のようなものを試すことができます:

public class Test
{
    public delegate void Handle<in T>(T obj, Foo foo);

    public event Handle<Bar> Finance;
}

public static class TestEx
{
    static IObservable<Tuple<Bar, Foo>> WhenFinanceChanged(this Test t)
    {
        return Observable.Create<Tuple<Bar, Foo>>(observer =>
        {
            Test.Handle<Bar> handler = (obj, foo) => observer.OnNext(Tuple.Create<Bar, Foo>(obj, foo));
            t.Finance += handler;
            return Disposable.Create(() => t.Finance -= handler);
        });
    }
}
于 2012-12-19T17:44:45.733 に答える