如何区分棱镜事件的调用方?



我正在使用 Prism 的事件聚合器,并从我的复合控件发布一个事件。但是,如果开发人员在同一窗体上使用控件的两个实例,则订阅者如何区分事件?最佳实践是什么?

谢谢。

通常我只是在EventMessage中传递调用方或callerId,如果调用方不是它期望的,订阅者会忽略该消息

// Subscribe
eventAggregator.GetEvent<SomeEvent>().Subscribe(SomeMethod);
public void ShowNews(SomeEventMessage e)
{
    if (e.CallerId != this.Id)
        return;
    Do Work();
}
// Broadcast
eventAggregator.GetEvent<SomeEvent>().Publish(
    new SomeEventMessage { CallerId = this.Id });

最新更新