Доступ к защищенным членам C # через переменную базового класса [duplicate]
На этот вопрос уже есть ответ здесь:
Почему я не могу получить доступ к защищенным членам C #, кроме как так? 7 ответовЭто может показаться довольно новым вопросом, но вы можете объяснить, почему метод Der.B () не может получить доступ к защищенному Foo через переменную базового класса? Это выглядит странно для меня:
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
}
Спасибо!