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 Antworten

Ich 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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage