У меня есть базовый класс и класс, наследующий базу. Базовый класс имеет несколько виртуальных функций, которые унаследованный класс может переопределить. Тем не менее, виртуальные функции в базовом классе имеют код, который ДОЛЖЕН запускаться до того, как вызовутся наследуемые переопределения классов. Есть ли способ, с помощью которого я могу сначала вызвать базовые классы виртуальных функций, а затем унаследованный класс переопределяет. Без вызова функции base.function().
Я знаю, что могу просто сделать две функции, одну из которых вызывается, другую виртуальную. Но есть ли способ сохранить те же имена? Я знаю, что мне, возможно, придется кое-что изменить.
class myBase
{
public virtual myFunction()
{ /* must-run code, Called first */ }
}
class myInherited : myBase
{
public override myFunction()
{ /* don't use base.myFunction();,
called from base.myFunction(); */ }
}
Аналогичный вопрос здесь.