我想动态覆盖虚拟基类函数,并在应用程序中使用此覆盖方法。如果我写一个基本的示例类:
partial Class myBase
{
public myBase() {}
public virtual void DoStuff()
{
throw new Exception("this function is not overriden");
}
}
partial Class myDeriv : myBase
{
public myDeriv() {}
}
现在我想动态覆盖myDeriv.DoStuff。 所以我创建了一个字符串代码块并使用
进行编译CSharpCodeProvider.CompileAssemblyFromSource
方法。将此dll写入磁盘后,我尝试使用
加载它Assembly.LoadFrom("onTheFly.dll");
但是应用程序无法找到这个被覆盖的函数。如果你有任何其他更好的解决方案我也向他们开放..我只需要动态覆盖函数..
谢谢大家!
答案 0 :(得分:1)