在C#中,我们无法在从基类重写方法时更改访问修饰符.例如
Class Base
{
**protected** string foo()
{
return "Base";
}
}
Class Derived : Base
{
**public** override string foo()
{
return "Derived";
}
}
Run Code Online (Sandbox Code Playgroud)
这在C#中无效,会产生编译时错误.
我想知道原因,为什么不允许这样做.是否存在任何技术问题,或者是否会导致访问限制方面不一致的问题?