В C # мы не можем изменить модификатор доступа при переопределении метода из базового класса. например
Class Base
{
**protected** string foo()
{
return "Base";
}
}
Class Derived : Base
{
**public** override string foo()
{
return "Derived";
}
}
Это недопустимо в C #, это приведет к ошибке времени компиляции.
Я хочу знать причину, почему это не разрешено. Есть ли какие-либо технические проблемы или они могут привести к чему-то, что не соответствует ограничению доступа ???