Добрый день. Каким образом можно подменять реализацию функционала в готовой программе?
Приведу пример. У меня есть интерфейс:
public interface IMessage
{
string GetMessage();
}
Есть класс который его реализует:
public class Message : IMessage
{
public string GetMessage()
{
return "Hello From Message Class";
}
}
Есть форма которая создает переменную класса и выводит результат работы метода в MessageBox:
public partial class Form1 : Form
{
private readonly IMessage m;
public Form1()
{
InitializeComponent();
m = new Message();
}
private void Clickbtn_Click(object sender, EventArgs e)
{
MessageBox.Show(m.GetMessage());
}
}
Меня же интересует следующее, к примеру у меня класс который реализует интерфейс будет в отдельной dll библиотеке.
И мне захотелось иначе реализовать интерфейс. И что бы я мог просто создать новую dll библиотеку и положить в папку с программой. Возможно ли такое? Получается мне что то на подобии создания плагинов надо. При помощи какой технологии можно подобное сделать?
Заранее спасибо за ответы.