Warum können wir nicht ändern access-modifier beim überschreiben von Methoden in C#?

In C# können wir nicht ändern access-modifier beim überschreiben einer Methode aus der Basisklasse.
z.B.

Class Base
{
   **protected** string foo()
   {
       return "Base";
   }
}

Class Derived : Base
{
   **public** override string foo()
   {
       return "Derived";
   }
}

Dieser ist nicht gültig in C#, wird Es geben compile-Zeit-Fehler.

Ich will wissen, der Grund, warum es nicht erlaubt ist. Ist es ein technisches problem oder kann es zu etwas führen, was nicht im Einklang in Bezug auf die Zugangs-Beschränkung???

InformationsquelleAutor Rumit Parakhiya | 2011-06-04

Schreibe einen Kommentar