Esto no compilará:¿Por qué es necesario que una clase base tenga un constructor que tome 0 argumentos?
namespace Constructor0Args
{
class Base
{
public Base(int x)
{
}
}
class Derived : Base
{
}
class Program
{
static void Main(string[] args)
{
}
}
}
En cambio, me sale el siguiente error:
'Constructor0Args.Base' does not contain a constructor that takes 0 arguments
¿Por qué? ¿Es necesario que una clase base tenga un constructor que tome 0 argumentos?
Ah ... por supuesto. Esto tiene sentido ahora :) – mpen
También podría agregar un constructor sin parámetros en el tipo base y marcarlo como protegido. Esto permitiría que un tipo derivado usara el constructor predeterminado, pero los consumidores de su tipo no podrían crear una instancia que lo use. – Josh
@Josh que es un patrón útil, especialmente para cosas como interfaces. – tenpn