* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Модификаторы доступа к членам
7 февраля 2009
У членов типа также могут быть модификаторы, управляющие их областью види- мости. Эти модификаторы перечислены в таблице 1-2.
Таблица 1-2. Модификаторы и задаваемые ими уровни доступа Модификатор Уровень доступа к членам Public (Visual Basic .NET) Члены доступны из любого места приложения public (Visual C#) Private (Visual Basic .NET) Доступны только членам этого же типа private (Visual C#) (в котором определен данный член) Friend (Visual Basic .NET) Доступны из любого типа данной сборки, internal (Visual C#) но не из внешних сборок Protected (Visual Basic .NET) Доступны только членам этого же типа и типов, protected (Visual C#) производных от него Protected Friend (Visual Basic .NET) Доступны любым типам данной сборки, а также protected internal (Visual C#) типам, производным от типа, которому принадлежит данный член; является гибридом Protected (protected) и Friend (internal) Любой член, объявленный с модификатором Public (public), видим для любого кода, расположенного за пределами класса, и является открытым. Открытые поля и методы могут быть вызваны другими объектами. Напротив, методы с модифика- тором Private (private) видимы только внутри типа, в котором они объявлены, их нельзя вызвать извне. Третий модификатор, friend (internal), указывает, что данный член доступен типам, объявленным внутри этой сборки. Однако для типов, распо- ложенных вне сборки, доступ к этому типу запрещен. Модификатор Protected (protected) разрешает доступ к члену из типа, к которому данный член принадлежит, а также из любых типов, производных от него. По правам доступа модификатор Protected Friend (protected internal) представляет собой гибрид соответствующих мо- дификаторов. При объявлении членов-переменных модификатор доступа может заменять опе- ратор Dim. Если используется оператор Dim (в Visual Basic .NET) либо модификатор доступа не указан (в Visual C#), считается, что для переменных классов Visual Basic .NET и Visual C# задан модификатор private, для переменных структур Visual Basic .NET — модификатор Public, а для переменных структур Visual C# — private. Можно не указывать модификатор доступа при объявлении метода, при этом считается, что для методов классов и структур Visual C# задан модификатор private, а для методов классов и структур Visual Basic .NET — Public.