我们有一个客户调用 TIBCO EMS 队列,并像这样连接事件:
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“错误绑定(bind)到目标方法。”
我可以让它与 Observable.FromEventPattern<EMSMessageEventArgs>(msgConsumer, "MessageHandler")
一起工作但随后它将事件作为字符串获取,只是不那么干净。
我还有IObservable<EventPattern<EMSMessageEventArgs>>
而不是 IObservable<EMSMessageEventArgs>
我想了解的是:什么时候应该使用 FromEvent
在 FromEventPattern
?这似乎有点反复试验。
最佳答案
“对事件使用 FromEvent 在结构上看起来不像 .NET 事件模式(即不基于发送者、事件参数),对基于模式的事件使用 FromEventPattern。” - Bart De Smet (Rx team)
关于c# - 何时使用 Observable.FromEventPattern 而不是 Observable.FromEvent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6463459/