Я делал обзор кода сегодня и наткнулся на старый код, написанный некоторым разработчиком. Это похоже на это
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()
Это заставило меня задуматься. Почему бы кто-нибудь объявить метод как внутренний абстрактный?