У меня есть приложение, которое загружает плагины.У меня есть плагин, который имеет полный доступ к экземпляру формы.Если у меня есть функция в форме, которая должна быть переопределена, но не является виртуальной функцией, есть ли другой способ переопределить ее?
Вот очень общий пример:
//Form I am modifying
public partial class MyForm : Form
{
public int myVariable1;
public int myVariable2;
//Constructor and other methods here
private void setVar(int replacementValue)
{
myVariable1 = replacementValue;
}
}
... затем в отдельной dll ...
//My plugin
public class MyPlugin : IMyPluginBase
{
MyForm theForm; //Reference to the form in the main application
//Constructor and other methods here
private void setVar(int replacementValue)
{
theForm.myVariable2 = replacementValue;
}
}
В этом примере функция в форме устанавливает 'myVariable1', а функция 'setVar' в плагине устанавливает 'myVariable2'.
Итак, вопрос в этом примере, могу ли я заменить / переопределить функцию setVar формы на функцию в плагине?Может быть, с сообщениями или размышлениями?