C # Zugriff auf ein geschütztes Element in einer abgeleiteten Klasse [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Warum kann ich nur auf diese Weise auf C # -geschützte Mitglieder zugreifen? 7 AntwortenIch habe folgenden Code geschrieben:
public class A
{
protected string Howdy = "Howdy!";
}
public class B : A
{
public void CallHowdy()
{
A a = new A();
Console.WriteLine(a.Howdy);
}
}
Jetzt inVS2010
Dies führt zu folgendem Kompilierungsfehler:
Kann nicht über ein Qualifikationsmerkmal vom Typ 'A' auf das geschützte Mitglied 'A.a' zugreifen; Das Qualifikationsmerkmal muss vom Typ 'B' sein (oder davon abgeleitet sein).
Das erscheint mir ziemlich unlogisch - warum kann ich nicht auf die zugreifen?protected
Feld der Klasseninstanz aus einer Methode der Klasse, die davon abgeleitet ist?
So,warum passiert das?
Fand eine strenge Antwort - http://blogs.msdn.com/b/ericlippert/archive/2005/11/09/491031.aspx