C# 可观察。来自事件<&燃气轮机;不使用Umbraco ContentService。已发布

C# 可观察。来自事件<&燃气轮机;不使用Umbraco ContentService。已发布,c#,events,umbraco,system.reactive,C#,Events,Umbraco,System.reactive,我正在尝试使用Rx连接Umbraco活动: Observable.FromEvent<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>( h => ContentService.Published += h, h => ContentService.Published -= h).Subscrib

我正在尝试使用Rx连接Umbraco活动:

Observable.FromEvent<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>(
h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);
Observable.FromEvent(
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);
var subject=new subject();
ContentService.Published+=(发送者,参数)=>subject.OnNext(参数);
subject.Subscribe(Console.WriteLine);

但是,如何使用Observable.FromEvent将其连接起来?

根据Enigmativity的建议,这是有效的解决方案:

Observable.FromEventPattern<TypedEventHandler<IPublishingStrategy, PublishEventArgs<IContent>>, PublishEventArgs<IContent>>
            (h => ContentService.Published += h, h => ContentService.Published -= h).Subscribe(Console.WriteLine);
Observable.FromEventPattern
(h=>ContentService.Published+=h,h=>ContentService.Published-=h).Subscribe(Console.WriteLine);

尝试使用
FromEventPattern
而不是
FromEvent
-后者用于非标准事件,前者用于“sender,eventargs”类型的事件。有关如何观察
的完整讨论。FromEvent
工作原理,请参阅我在使用FromEventPattern时遇到的相同异常。。。