2011-03-03 55 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() 
    { 
    }