Я бы хотел переопределить функцию виртуального базового класса на лету и использовать этот переопределенный метод в приложении. Если я напишу базовый пример класса:
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");
Но приложению не удается найти эту переопределенную функцию. Если у вас есть другие лучшие решения, я также открыт для них ... Мне просто нужно переопределить функции на лету ..
Спасибо всем!