У меня есть 2 класса:
public class A
{
public void WriteLine(string toWrite) { Console.WriteLine(toWrite); }
}
public class B : A
{
public new void WriteLine(string toWrite) { Console.WriteLine(toWrite + " from B"); }
}
В своем коде я делаю следующее:
B writeClass = new B();
writeClass.WriteLine("Output"); // I expect to see 'Output from B'
A otherClass = (A)writeClass;
otherClass.WriteLine("Output"); // I expect to see just 'Output'
Я предполагал, что это сработает из-за полиморфизма .
Однако, он всегда пишет «Вывод из B» каждый раз. Есть ли способ заставить это работать так, как я хочу?
РЕДАКТИРОВАТЬ Пример кода исправления.