将 CompositePresentationEvent 的 MEF 代码迁移到 PubSubEvent

Migrate MEF code for CompositePresentationEvent to PubSubEvent

我主要尝试将我的 MEF 代码从 Prism 4.0 迁移到 Prism 6.1.0,所以第一个问题我 运行 不再有 CompositePresentationEvent,所以我将其更改为 PubSubEvent。这给了我一个新的例外

要使用 UI 线程选项进行订阅,必须在 UI 线程上构造 EventAggregator。

因此,您可以使用 MEF 导出和导入 CompositePresentationEvent 的方式完全不使用 EventAggregator 实例,您只需导入事件,MEF 就可以完成这项工作。

这么简单的问题是,是否存在迁移此类代码的某种最佳实践,还是坚持使用 prism 4 更简单?

此致

有点晚了,但如果有人想知道最后做了什么......

简而言之,重构为使用 IEventAggregator,但仍使用 MEF import/export EventAggregator 的单个实例。