События расширения MEF - PullRequest
       1

События расширения MEF

2 голосов
/ 29 августа 2011

Я новый разработчик в MEF (Managed Extensibility Framework) и мне удалось запустить пример приложения с несколькими расширениями.Это хороший фреймворк для использования.

Я хочу реализовать стандартное событие, которое можно вызывать из каждого расширения.Например, в моем приложении Host у меня будет EventHanlder

Extension_OnLog (string Message) // Выполнение некоторой регистрации здесь.

И тогда каждое расширение сможет вызвать это событие,обрабатывается в приложении хоста.

// Расширение 1 RaiseEvent OnLog («Это некоторый текст журнала»)

Я не уверен в правильной терминологии этого.Может ли кто-нибудь указать мне правильное направление для реализации такой модели событий.

1 Ответ

2 голосов
/ 29 августа 2011

Примерно так может работать:

Создать два интерфейса:

IEventRaiser (который будет содержать функцию RaiseEvent)

IEvent1 (который будет содержать фактическое событие)

Создать модуль ( Event1 ), который будет реализовывать оба интерфейса и экспортировать оба интерфейса.

Ваши "расширения"может импортировать IEventRaiser, что позволит им вызвать событие.

Хост-приложение будет импортировать IEvent1, что позволит ему" подписаться "на событие.

...