internal abstract methods. Why would anyone have them?
I was doing some code review today and came across an old code written by some developer. It goes something like this public abstract class BaseControl { internal abstract void DoSomething(); } If you have a derived class within the same assembly, it would work public class DerivedControl : BaseControl { internal override void DoSomething() { } } But deriving the base class in a different assembly would give compile time error DerivedControl does not implement inherited abstract member 'BaseControl.DoSomething() That got me thinking. Why would anyone declare a method as internal abstract ? The