En C#, nous ne pouvons pas modifier le modificateur d'accès tout en remplaçant une méthode de la classe de base. par exemple
Class Base
{
**protected** string foo()
{
return "Base";
}
}
Class Derived : Base
{
**public** override string foo()
{
return "Derived";
}
}
Ce n'est pas valide en C#, cela donnera une erreur de temps de compilation.
Je veux savoir la raison, pourquoi ce n'est pas autorisé. Y a-t-il un problème technique ou cela peut-il conduire à quelque chose qui n'est pas cohérent en termes de restriction d'accès ???