是否可以从Action侦听器创建IObservable?

时间:2011-09-13 15:18:04

标签: events action system.reactive reactive-programming

我有一个类定义为Action<Guid>的事件,而不是带有EventArgs的经典EventHandler。有没有办法将其转换为IObservable与使用标准EventHandler完成相同的方式?我需要这样做,所以我可以与其他IObservables合并。

1 个答案:

答案 0 :(得分:2)

如果你有这门课程:

public class Foo
{
    public event Action<Guid> Guid;
}

然后,这是将非标准事件转换为IObservable<Guid>

所需的代码
var foo = new Foo();

var guids = Observable.FromEvent<Guid>(
    h => foo.Guid += h,
    h => foo.Guid -= h);