вопрос о классе дизайна. В настоящее время у меня есть следующая структура:
абстрактный базовый репозиторий класса
Класс реализации репозитория по умолчанию (реализует некоторые абстрактные методы, где логика является общей для всех классов Specific, но оставляет другие пустыми)
Определенный класс реализации репозитория (реализует то, что осталось пустым в вышеуказанном классе по умолчанию)
Теперь я столкнулся с проблемой, когда у меня есть определенный метод Update () в классе Specific, но когда весь код в этом методе выполняет некоторый код из базового класса Default, он также должен быть выполнен.
Я мог бы сделать это так
public override Update()
{
// do Specific class actions and updates
// ....
// follow with base.Update()
base.Update();
}
но для этого требуются вызовы base.XYZ () во всех унаследованных методах. Могу ли я обойти это как-то с частичным?
Таким образом, требование состоит в том, чтобы иметь код как в родительском, так и в унаследованном классе (или сделать эти два класса одним, используя партиалы), и код из реализации метода в обоих местах должен выполняться. А что если я захочу перевернуть его и сначала выполнить код базового класса, а затем унаследованный код класса?
спасибо