Возможно, вы захотите посмотреть что-то вроде MEF или Composite UI Application Block. Если вы хотите «сделай сам», основы являются:
- Определить интерфейс надстроек можно реализовать
- Укажите папку, в которой приложение будет искать надстроек
- Есть приложение Перечислим каждый узел в папке, указанной и
- Использование отражения для загрузки каждого типа из сборки
- Проверьте, чтобы увидеть, если тип реализует интерфейс, указанный в формуле (1)
- Ins tantiate каждый тип, который реализует интерфейс и вызвать метод «регистр», что интерфейс определяет
Сделав это, прежде чем я не могу не предупредить вас, что есть проблемы и пит-падает в получении этого права , Если вы можете использовать что-то вроде MEF для «тяжелого подъема» для вас, пойдите для него, так как это облегчает жизнь - гораздо лучше, если кто-то из Microsoft напишет вашу систему надстройки! =)
Сделайте google для подключаемых архитектур (часто классифицируемых как одна из реализаций принципа инверсии зависимостей). – StuartLC