Tag: 受保护的

是不是“包私人”成员访问与默认(无修饰)访问的代名词?

我对一些文档使用的“package private”一词有点困惑,以及“default access”的使用。 不是包私有和默认访问两个同义的保护?

为什么我不能访问受C#保护的成员,除此之外?

此代码: abstract class C { protected abstract void F(D d); } class D : C { protected override void F(D d) { } void G(C c) { cF(this); } } 产生这个错误: 不能通过'C'types的限定符访问受保护成员'CF(D)'; 限定词必须是“D”型(或从中派生出来) 他们在想什么呢? (会改变这个规则打破了什么?)除了公开F吗? 编辑:我现在得到这是为什么的原因(感谢格雷格 ),但我仍然有点困惑的理性; 给定: class E : C { protected override void F(D d) { } } 为什么D不能够调用EF? 错误消息被编辑,所以我可能会在那里input一个错字。