如何订阅来自不同 module/assembly 的事件?
How to subscribe to an event from different module/assembly?
我对一个模块中的 publish/subscribe 个事件执行此操作:
eventAggregator.GetEvent<StudioEnableEvent>().Publish((bool)arguments.ElementAt(1));
然后:
eventAggregator.GetEvent<StudioEnableEvent>().Subscribe(GetStudioEnableFromImport);
StudioEnableEvent 就是:
public class StudioEnableEvent : PubSubEvent<bool>
{
}
现在我想做同样的事情,但对于位于两个不同模块中的发布者和订阅者,并且不需要引用模块程序集。
解决此问题的最佳方法是在您的解决方案中添加一个所有模块项目都可以引用的项目。我喜欢称呼我的核心,或者类似的东西。在那里,我创建了事件 类,这样我就可以在所有模块之间共享它们。您也可以在此项目中声明任何其他共享资源。
我对一个模块中的 publish/subscribe 个事件执行此操作:
eventAggregator.GetEvent<StudioEnableEvent>().Publish((bool)arguments.ElementAt(1));
然后:
eventAggregator.GetEvent<StudioEnableEvent>().Subscribe(GetStudioEnableFromImport);
StudioEnableEvent 就是:
public class StudioEnableEvent : PubSubEvent<bool>
{
}
现在我想做同样的事情,但对于位于两个不同模块中的发布者和订阅者,并且不需要引用模块程序集。
解决此问题的最佳方法是在您的解决方案中添加一个所有模块项目都可以引用的项目。我喜欢称呼我的核心,或者类似的东西。在那里,我创建了事件 类,这样我就可以在所有模块之间共享它们。您也可以在此项目中声明任何其他共享资源。