Estaba revisando algunos códigos hoy y encontré un código antiguo escrito por un desarrollador. Es algo parecido a estemétodos abstractos internos. ¿Por qué alguien los tendría?
public abstract class BaseControl
{
internal abstract void DoSomething();
}
Si usted tiene una clase derivada dentro del mismo conjunto, que funcionaría
public class DerivedControl : BaseControl
{
internal override void DoSomething()
{
}
}
Pero derivar la clase base en un montaje diferente daría error de compilación tiempo
DerivedControl does not implement inherited abstract member 'BaseControl.DoSomething()
Eso me hizo pensar. ¿Por qué alguien declararía un método como resumen interno?
Puede que no sea una mala idea hasta la cuarta vez que te encuentras con esta suposición condescendiente en una biblioteca de terceros. A menudo significa una tonelada de duplicación innecesaria. (DevExpress, te estoy mirando ...) – jnm2