Страница: 1 |
Страница: 1 |
Вопрос: Система плагинов под .NET
Добавлено: 01.11.06 23:24
Автор вопроса: Sacred Phoenix | ICQ: 304238252
Как лучше всего реализовать сабж? По-моему здесь был пример, основанный на интерфейсе. То бишь объявляем интерфейс, напр.
Public Interface IPlugin
Function Initialize() As Boolean
Sub Deinitialize()
ReadOnly Property Author() As String
End Interface
Потом в опр. папке ищем Dll, подгружаем, через рефлексию смотрим наличие классов, реализующих этот интерфейс и т.д.
Но потом, напр., понадобилось расширить функциональность плагина. Как поступить? Пока вижу один варианта:
1) Объявляем новый интерфейс. А для поддержки "старых" плагинов написать плагин-переходник. Трабла: так как на переходник возложится задача искать плагины, реализующие "старый" интерфейс, ему нужно будет также передавать инфу о найденных и загруженных плагинах в основную прогу. Как реализовать?
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 02.11.06 15:17
Сидел и долго думал, что имелось ввиду. Потом понял, что reflection Рефлексия - свойство бинарной операции такое что a [операция] a
Номер ответа: 2
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #2
Добавлено: 02.11.06 16:49
Кстать проблема уже решена)) плагин-переходник передает инфу о найденных плагинах в основную прогу через callback-функцию, а потом выгружается. Так что забота о загрузке плагинов, переданных переходником, была возложена на основную прогу. Так в общем-то и есть правильнее.