@reactor7612
Человек :з

Как сделать поддержку плагинов в своей программе?

Написал программу для вк для автоматизации действий. Возникла идея сделать поддержку плагинов для софта, то есть возник такой вопрос: я хочу, чтобы мою программу каждый человек мог дополнять, то есть сделать поддержку плагинов. Сам код плагина, допустим, писался бы на языке Lua, расширение файла было .rsm, допустим...
Вот с чего начать? Как лучше это реализовать? Если что, то софт пишу на C#.
Заранее всем спасибо!
  • Вопрос задан
  • 400 просмотров
Пригласить эксперта
Ответы на вопрос 2
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
Если сама программа на C# - то лучше и плагины на C# делать, а не накручивать лишнего и не усложнять. Надо просто написать интерфейс IMyPlugin - и на базе этого интерфейса делается библиотека классов, которая и будет плагином. Данный интерфейс включается как в саму программу, так и в плагин.
/// <summary>
/// Интерфейс плагина
/// </summary>
public interface IMyPlugin
{
    /// <summary>
    /// Инициализация плагина
    /// </summary>
    /// <returns></returns>
    bool Init();

    /// <summary>
    /// Завершение работы плагина и освобождение ресурсов
    /// </summary>
    void Dispose();

    void PluginAction1();
    void PluginAction2();
}

И так далее - в интерфейсе указываем сигнатуру методов, свойств, событий, которые плагин должен поддерживать 100% и через которые плагин будет взаимодействовать с основной программой.
Ответ написан
Комментировать
@d-stream
Готовые решения - не подаю, но...
Чтобы грамотно начинать делать велосипед - стоит посмотреть на велосипеды, которые уже есть.
Например на https://msdn.microsoft.com/ru-ru/library/dd460648(...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы