Я наткнулся на этот пост, и мне не обязательно нравился какой-то конкретный ответ, поэтому я решил, что предоставлю свой ...
В C # нет способа принудительно вызвать базовый метод. Поэтому кодирование как таковое считается антишаблоном, так как последующий разработчик может не понимать, что он должен вызывать базовый метод, иначе класс будет в неполном или плохом состоянии.
Однако я обнаружил обстоятельства, при которых требуется этот тип функциональности и которые могут быть выполнены соответствующим образом. Обычно производный класс нуждается в ресурсе базового класса. Чтобы получить ресурс, который обычно может быть представлен через свойство, он вместо этого предоставляется через метод. Производный класс не имеет другого выбора, кроме как вызвать метод для получения ресурса, что гарантирует выполнение метода базового класса.
Следующий логический вопрос, который можно задать, - почему бы не поместить его в конструктор? Причина в том, что это может быть проблема порядка операций. Во время создания класса некоторые входные данные могут отсутствовать.
Отходит ли это от вопроса? И да и нет. Да, это заставляет производный класс вызывать определенный метод базового класса. Нет, это не происходит с ключевым словом override. Может ли это быть полезным для человека, который ищет ответ на этот пост, может быть.
Я не проповедую это как Евангелие, и если люди увидят обратную сторону этого подхода, я хотел бы услышать об этом.