初心者の質問のように思われるかもしれませんが、メソッドDer.B()がBaseクラス変数を介して保護された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
}
ありがとう!