我是MEF(Managed Extensibility Framework)的新开发人员,并设法启动并运行了一个示例应用程序,并有几个扩展。这是一个很好用的框架。
我要做的是实现一个可以从每个扩展中提升的标准事件。例如,在我的主机应用程序中,我将有一个EventHanlder
Extension_OnLog(字符串消息) //在这里执行一些日志记录。
然后每个扩展都能够引发此事件,该事件在主机应用程序中处理。
//扩展名1 RaiseEvent OnLog(“这是一些记录文本”)
我不确定这个的正确术语。有人可以指出我正确的方向来实施这样的事件模型。
答案 0 :(得分:2)
这样的事情可以起作用:
创建两个接口:
IEventRaiser (将包含函数RaiseEvent)
IEvent1 (将包含实际事件)
创建一个模块( Event1 ),它将实现两个接口,并将导出两个接口。
您的“扩展程序”可以导入IEventRaiser,这将允许它们引发事件。
主机应用程序将导入IEvent1,这将允许它“订阅”该事件。