我正在尝试使用Rx连接Umbraco事件:
Observable.FromEvent<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>(
h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);
但是在订阅时我从Rx内部获得了一个例外:
无法绑定到目标方法,因为其签名或安全透明度与委托类型的方法不兼容。
我可以使用一个不那么干净的解决方法:
var subject = new Subject<PublishEventArgs<IContent>>();
ContentService.Published += (sender, args) => subject.OnNext(args);
subject.Subscribe(Console.WriteLine);
但是,如何使用Observable.FromEvent&lt;&gt;连接它?
答案 0 :(得分:0)
根据Enigmativity的建议,这是有效的解决方案:
Observable.FromEventPattern<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>
(h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);