2011-08-29 76 views
2

我是MEF(托管扩展框架)的新开发人员,并已成功开发并运行示例应用程序,并带有多个扩展。这是一个很好的使用框架。MEF扩展事件

我所希望做的是实现一个标准的事件,可从每个分机提高。例如,在我的主机应用程序,我会有一个EventHanlder

Extension_OnLog(字符串消息) //在这里执行一些日志记录。

,然后将每个扩展将能够引发此事件,这是在主机应用程序进行处理。

//扩展1 的RaiseEvent OnLog(“这是一些记录文本”)

我不知道这样做的正确的术语。有人能否指出我正确实施这样一个事件模型的方向。

回答

2

像这样的东西可以工作:

创建两个接口:

IEventRaiser(它将包含功能的RaiseEvent)

IEvent1(其中将包含实际的事件)

创建一个模块(Event1) e接口并将导出这两个接口。

你的“扩展”可以导入IEventRaiser,这将使他们能够引发事件。

主机应用程序将导入IEvent1这将使它能够“订阅”的事件。