MEF扩展事件

时间:2011-08-29 02:31:01

标签: .net mef

我是MEF(Managed Extensibility Framework)的新开发人员,并设法启动并运行了一个示例应用程序,并有几个扩展。这是一个很好用的框架。

我要做的是实现一个可以从每个扩展中提升的标准事件。例如,在我的主机应用程序中,我将有一个EventHanlder

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

然后每个扩展都能够引发此事件,该事件在主机应用程序中处理。

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

我不确定这个的正确术语。有人可以指出我正确的方向来实施这样的事件模型。

1 个答案:

答案 0 :(得分:2)

这样的事情可以起作用:

创建两个接口:

IEventRaiser (将包含函数RaiseEvent)

IEvent1 (将包含实际事件)

创建一个模块( Event1 ),它将实现两个接口,并将导出两个接口。

您的“扩展程序”可以导入IEventRaiser,这将允许它们引发事件。

主机应用程序将导入IEvent1,这将允许它“订阅”该事件。