Я искал различные способы обеспечения поддержки плагинов для моего приложения. В идеале я буду создавать основную функциональность и на основе того, что разные клиенты будут разрабатывать различные плагины / надстройки, такие как импорт, экспорт данных и т. Д. Какие методы доступны для создания расширяемого приложения C # с помощью архитектуры плагинов?
Давайте составим пример. Если у нас есть программа, которая состоит из главного меню («Файл», «Редактировать», «Просмотреть» и т. Д.) И TreeView, которое отображает различные марки автомобилей, сгруппированных по производителям (Ford, GM, на данный момент). Щелчок правой кнопкой мыши по автомобилю отображает контекстное меню с единственным параметром «удалить автомобиль»
Как вы могли бы разработать приложение для развертывания плагинов, чтобы вы могли позволить одному клиенту увидеть новый бренд в TreeView, скажем, Honda, а также расширить контекстное меню автомобиля, чтобы они могли теперь? покрасить машину '?
В разработке Eclipse / RCP это легко обрабатывается точками расширения и плагинами. Как C # справляется с этим? Я пытался разработать собственную архитектуру плагинов и читать MEF.