внутренние абстрактные методы. Зачем кому-то их?
Сегодня я делал обзор кода и наткнулся на старый код, написанный каким-то разработчиком. Это выглядит примерно так
public abstract class BaseControl
{
internal abstract void DoSomething();
}
Если у вас есть производный класс в той же сборке, он будет работать
public class DerivedControl : BaseControl
{
internal override void DoSomething()
{
}
}
Но получение базового класса в другой сборке даст ошибку времени компиляции
DerivedControl does not implement inherited abstract member 'BaseControl.DoSomething()
Это заставило меня задуматься. Зачем кому-то объявлять метод как внутренний абстрактный?