C # -geschützte Member, auf die über die Basisklassenvariable zugegriffen wird [duplicate]

Diese Frage hat hier bereits eine Antwort:

Warum kann ich nur auf diese Weise auf C # -geschützte Mitglieder zugreifen? 7 Antworten

Es mag eine Frage für Anfänger sein, aber können Sie erklären, warum die Methode Der.B () nicht über die Basisklassenvariable auf protected Foo zugreifen kann? Das sieht komisch für mich aus:

public class Base
{
    protected int Foo;
}

public class Der : Base
{
    private void B(Base b) { Foo = b.Foo; } // Error: Cannot access protected member

    private void D(Der d) { Foo = d.Foo; } // OK
}

Vielen Dank!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage