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