Events 是否可以从操作侦听器创建IObservable?

Events 是否可以从操作侦听器创建IObservable?,events,action,system.reactive,reactive-programming,Events,Action,System.reactive,Reactive Programming,我有一个类,它的事件定义为操作,而不是带有EventArgs的经典EventHandler。是否有一种方法可以将其转换为IObservable,与使用标准EventHandler的方法相同?我需要这样做,以便可以与其他IObservable合并。如果您有此类: public class Foo { public event Action<Guid> Guid; } 公共类Foo { 公共事件行动指南; } 然后,这就是将非标准事件转换为可观察的IObservable: v

我有一个类,它的事件定义为
操作
,而不是带有EventArgs的经典EventHandler。是否有一种方法可以将其转换为IObservable,与使用标准EventHandler的方法相同?我需要这样做,以便可以与其他IObservable合并。

如果您有此类:

public class Foo
{
    public event Action<Guid> Guid;
}
公共类Foo
{
公共事件行动指南;
}
然后,这就是将非标准事件转换为可观察的
IObservable

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

我又开始尝试这个,但它不起作用。我得到一个错误“无法将lambda表达式转换为'object'类型,因为它不是委托类型”@Random-我刚刚测试了上面的代码,它工作正常。您使用的是Rx的“1.0”版本吗?没有。我使用的是System.Reactive的v2.0.50727。@Random-System.Reactive没有v2.0.50727。该版本号是其目标的.NET framework版本号。查找程序集版本号并让我知道它是什么。@Random-无需担心,但如果您认为我的答案是正确的,请随时接受我的答案。:-)
var foo = new Foo();

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