在我正在制作插件的程序中,加载了多个.dll文件。我特别感兴趣的其中一个.dll /库/程序集。这个程序集包含一个带有返回布尔值的方法的类。我希望能够使用Reflection.Emit来改变那些方法将返回的内容(也许是在启动时?)。需要注意的一些事项:
一切正常的方式是我的所有代码当前都被编译成一个dll,作为真实程序的插件运行。我真的需要能够覆盖/重写方法体/更改程序正在使用的程序集的返回值。我唯一听到的是Reflection.Emit可能是我的希望。这只是一个希望我深入潜水的人的提示。
编写程序集 - 来自program.dll的代码:
public virtual bool exampleBool(bool b)
{
return b;
}
代码我想在My-plugin-for-program.dll中替换它:
public virtual bool exampleBool(bool b)
{
return true;
}
这只是一个例子。我想学习并使任何提供的教程和资源适应我想要实现的目标。我没有提供我想要替换的实际代码,因为它太块了。