2011-03-03 106 views
1

可能重复:
How to make protected AND internal?如何让班级成员受到保护并保持内部?

即,它是一个内部构件,并且只能从一个类从此类派生访问。

+0

'受保护的内部'意味着它可以被任何人在组件中访问或从课堂派生,但不一定是两者,如果这就是你想要的。 – BoltClock 2011-03-03 03:27:12

+1

http://stackoverflow.com/questions/941104/how-to-make-protected-and-internal的副本? – 2011-03-03 03:34:00

回答

7

所有这些答案是倒退:受保护的内部可在同一个派生类或其他物体(或InternalsVisibleTo)程序集。 Eric Lippert指出,不可能,Eric Lippert指出,这并不是真正有用的,或者至少是你不应该期待的东西:http://blogs.msdn.com/b/ericlippert/archive/2008/04/24/why-can-t-i-access-a-protected-member-from-a-derived-class-part-three.aspx

+0

为什么“受保护的和内部的”对于使用内部类型的受保护成员来说是最合乎逻辑的存储类?根据我的说法,如果使用内部类型的成员需要对后代类可见,则唯一可用的访问修饰符是“内部”,这意味着该字段必须对程序集内的所有类都可见,即使这种可见性会违反Liskov替代原则。 – supercat 2011-08-10 22:24:44

0

有一个受保护的内部访问标识符。你可以使用它。

0

只需使用这两个访问说明..

protected internal void method() 
    { 
    }