Я думал об использовании методов расширения в качестве замены абстрактного базового класса. Методы расширения могут предоставлять функции по умолчанию и могут быть "переопределены", помещая метод одной и той же сигнатуры в производный класс.
По какой-то причине я не должен этого делать?
Кроме того, если у меня есть два метода расширения с одной и той же сигнатурой, какой из них используется? Есть ли способ установить приоритет?