Если я создаю метод с свойством «переопределить», производный метод автоматически не будет вызывать реализацию базового метода, и мне нужно будет называть его вручную, используя ключевое слово «base» следующим образом:Принудительный метод для вызова базового метода из базового класса
public class A
{
public virtual void Say()
{
Console.Write("A");
}
}
public class B : A
{
public override void Say()
{
base.Say();
Console.Write("B");
}
}
Итак, только в этом случае строки «A» и «B» будут записаны на консоль. Итак, вопрос в том, как я могу избавиться от «base.Say()»; линия? Поэтому я хочу, чтобы каждый производный метод «Say» вызывал базовый метод из базового класса. Является ли это возможным? Я ищу любые решения, даже если я буду вынужден использовать другие ключевые слова.
Это запах проблемы X-Y; вопрос о предлагаемом решении для неопределенной проблемы. Какое истинное деловое требование побуждает вас сделать этот запрос? –
Короткий ответ: нет. Это невозможно в том, как вы это описываете. – sstan
Я спрашиваю об этом вопросе в общем случае, у меня было много случаев, в которых использовалась эта функция. – Eugen1344