¿Por qué no podemos cambiar el modificador de acceso al anular los métodos en C #?
En C #, no podemos cambiar el modificador de acceso mientras anulamos un método de la clase base. p.ej
Class Base
{
**protected** string foo()
{
return "Base";
}
}
Class Derived : Base
{
**public** override string foo()
{
return "Derived";
}
}
Esto no es válido en C #, dará un error de tiempo de compilación.
Quiero saber la razón, por qué no está permitido. ¿Hay algún problema técnico o puede conducir a algo que no es consistente en términos de restricción de acces