当使用Observable.FromEventPattern而不是Observable.FromEvent? [英] When to use Observable.FromEventPattern rather than Observable.FromEvent?
问题描述
我们已经有了一个客户叫开了一个TIBCO EMS队列并接线像这样的事件:
We've got a client calling off to a TIBCO EMS queue and are wiring up the events like this:
var msgConsumer = _session.CreateConsumer(responseQueue);
var response = Observable.FromEvent<EMSMessageHandler,EMSMessageEventArgs>
(h => msgConsumer.MessageHandler += h, h => msgConsumer.MessageHandler -= h)
.Where(arg => arg.Message.CorrelationID == message.MessageID);
当我称之为 response.Subscribe(...)
我得到System.ArgumentException错误绑定到目标方法
When I call response.Subscribe(...)
I get System.ArgumentException "Error binding to target method."
我可以把它与 Observable.FromEventPattern<工作; EMSMessageEventArgs>( msgConsumer的MessageHandler)
但它有事件作为一个字符串,只是没有那么干净。
I can make it work with Observable.FromEventPattern<EMSMessageEventArgs>(msgConsumer, "MessageHandler")
but then it's got the event as a string and just not as clean.
我也有的IObservable< EventPattern< EMSMessageEventArgs>>
,而不是的IObservable< EMSMessageEventArgs> ;
我想了解的是:当我应该使用 FromEvent
在 FromEventPattern
?这似乎有点试验和错误。
What I'd like to understand is: when should I use FromEvent
over FromEventPattern
? It seems a bit trial and error.
推荐答案
使用FromEvent事件结构看上去并不像一个.NET事件模式(即不是基于发件人,事件参数),并使用FromEventPattern的基于模式的一。 - 巴特迪斯(接收队)
"Use FromEvent for events structurally don't look like a .NET event pattern (i.e. not based on sender, event args), and use FromEventPattern for the pattern-based ones." - Bart De Smet (Rx team)
这篇关于当使用Observable.FromEventPattern而不是Observable.FromEvent?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!