Я пишу простую программу на основе плагинов. У меня есть интерфейс IPlugin
, который имеет некоторые методы и функции, и List<Plugin>
в моей основной программе. Для простоты, скажем, это определено так:
public interface IPlugin
{
public void OnKeyPressed(char key);
}
Каждый раз, когда нажимается клавиша, я перебираю список плагинов и вызываю OnKeyPressed(c)
для каждого из них.
Я могу создать такой класс и добавить его в список ...
public class PrintPlugin
{
public void OnKeyPressed(char key)
{
Console.WriteLine(c);
}
}
А потом, когда вы нажимаете клавишу, она распечатывается. Но я хочу иметь возможность загружать плагины из DLL-файлов. Эта ссылка была полезной, но она не объясняет, как классы в DLL реализуют мой интерфейс IPlugin
... Как я могу это сделать? Я действительно не хочу копировать файл IPlugin.cs
каждый раз, когда я хочу создать плагин ...