2011-08-29 78 views
2

我是MEF(託管擴展框架)的新開發人員,並已成功開發並運行示例應用程序,並帶有多個擴展。這是一個很好的使用框架。MEF擴展事件

我所希望做的是實現一個標準的事件,可從每個分機提高。例如,在我的主機應用程序,我會有一個EventHanlder

Extension_OnLog(字符串消息) //在這裏執行一些日誌記錄。

,然後將每個擴展將能夠引發此事件,這是在主機應用程序進行處理。

//擴展1 的RaiseEvent OnLog(「這是一些記錄文本」)

我不知道這樣做的正確的術語。有人能否指出我正確實施這樣一個事件模型的方向。

回答

2

像這樣的東西可以工作:

創建兩個接口:

IEventRaiser(它將包含功能的RaiseEvent)

IEvent1(其中將包含實際的事件)

創建一個模塊(Event1) e接口並將導出這兩個接口。

你的「擴展」可以導入IEventRaiser,這將使他們能夠引發事件。

主機應用程序將導入IEvent1這將使它能夠「訂閱」的事件。