c# - 何时使用 Observable.FromEventPattern 而不是 Observable.FromEvent?

标签 c# system.reactive

我们有一个客户调用 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>

我想了解的是:什么时候应该使用 FromEventFromEventPattern ?这似乎有点反复试验。

最佳答案

“对事件使用 FromEvent 在结构上看起来不像 .NET 事件模式(即不基于发送者、事件参数),对基于模式的事件使用 FromEventPattern。” - Bart De Smet (Rx team)

关于c# - 何时使用 Observable.FromEventPattern 而不是 Observable.FromEvent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6463459/

相关文章:

c# - HttpModule 和页面创建?

c# - observable 的依赖属性

c# - ValveSubject : a queuing subject for Rx with built-in buffering, 打开/关闭操作

queue - 将ConcurrentQueue <T>公开为IObservable <T>?

.net - SubscribeOn 和 ObserveOn 有什么区别

.net - 链接 Observable 订阅

c# - 从 KeyValuePairs 集合中获取 Key

c# - 在日历中更改选定的日期背景(或文本)

c# - Dispose 与 Iterator block

c# - 使用 XDocument 获取大写的 UTF-8