我有一个加载插件的应用程序。我有一个可以完全访问表单实例的插件。如果我有一个需要覆盖但不是虚函数的形式的函数,是否有另一种方法来覆盖它?
这是一个非常通用的示例:
//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”函数吗?也许有信息或反思?