У меня есть приложение, созданное с помощью Prism и MEF. У меня есть несколько модулей (определенные внутри того же решения), которые я загружаю, и все работает нормально.
Однако теперь я хотел бы позволить пользователю добавлять свои собственные плагины (в основном эти плагины должны изменять набор точек данных) - другими словами, пользователь создает алгоритм (плагин), который изменяет эти точки данных, которые живут внутри ViewModel.
Мне нужно определить какой-то «контракт», который пользователь должен соблюдать при создании нового плагина. Как бы я это сделал?
Плагин должен быть одиночной .dll внутри папки /Plugin и должен быть загружен во время выполнения, ListView должен быть заполнен в представлении, содержащем UserControl для каждого плагина.