IoC元素之间的事件通信

时间:2014-03-18 09:53:49

标签: c# events inversion-of-control castle-windsor

我使用Castle.Windsor IoC在运行时加载插件。这些插件提供逻辑和UI实现,例如要插入到我的应用程序主窗口中的概述和详细视图窗格。每个提供的接口实现都包含一个明确引用它的路径,并且类的注册处于瞬态生活方式模式。

现在,考虑到(UI)组件之间的通信,我似乎遇到了麻烦:通常我会将委托方法添加到主窗口代码中的UI元素的事件队列中。但由于主窗口并不知道有关加载控件事件的任何具体信息,因此无效。

我的第一个解决方法是从IoC容器中解析已注册的实例并附加到其事件队列 - 但我不确定这是否适用于瞬态生活方式并且不链接到库让我不知道事件签名。 (如果库A中的元素想要查看另一个库事件队列,该怎么办?)

关于如何解决这个问题的任何想法?

1 个答案:

答案 0 :(得分:0)

Event Wiring Facility可以帮助您设置不同组件之间的通信。这是一个让您在温莎分离活动的设施。