I didn't find the answer to my question, but it seems simple. The main big issue is that I bought some library and some functionality hardcoded inside the dll and I can't to recompile that dll without source code. So here is the school level issue:
We have 2 classes A and B
class A {
public void Method1() {
this.Method2 ();
}
private void Method2() {
WriteLine ("A");
}
}
class B : A {
private void Method2() {
WriteLine ("B");
}
}
If we call 'new B().Method1()', then we have the string line "A". We can't do anything with the class A, but we can change the class B. We should get the string "B".
I've tried to use 'new' modifier, but, as you know, it does not help. The answer "Just override Method1 also" is not the option, cause the real code is much bigger.
Any suggestions?