Поделиться через


Практическое руководство. Объявление свойства со смешанным уровнем доступа

Обновлен: Ноябрь 2007

Если процедуры свойства Get и Set должны иметь различные уровни доступа, можно использовать менее строгий уровень в операторе Property и более строгий уровень в операторе Get или Set. Чтобы определенные части кода могли получить значение свойства, а другие части кода имели возможность изменить значение свойства, необходимо использовать смешанный доступ для свойства.

Дополнительные сведения по уровням доступа содержатся в разделе Уровни доступа в Visual Basic.

Для объявления свойства со смешанным уровнем доступа

  1. Объявите свойство обычным способом и укажите менее строгий уровень доступа (например Public) в операторе Property.

  2. Объявите процедуру Get или Set, указав более строгий уровень доступа (например Friend).

  3. Не указывайте уровень доступа для другой процедуры свойства. Предполагается, что уровень доступа объявлен в операторе Property. Можно ограничить доступ только одной процедуре свойства.

    Public Class employee
        Private salaryValue As Double
        Protected Property salary() As Double
            Get
                Return salaryValue
            End Get
            Private Set(ByVal value As Double)
                salaryValue = value
            End Set
        End Property
    End Class
    

    В предыдущем примере процедура Get имеет такой же уровень доступа Protected, как и само свойство, в то время как процедура Set имеет уровень доступа Private. Класс, производный от employee, может получить значение salary, но только класс employee может установить его.

См. также

Задачи

Практическое руководство. Создание свойства

Практическое руководство. Вызов процедуры Get свойства

Практическое руководство. Объявление и вызов свойства по умолчанию в Visual Basic

Практическое руководство. Запись значения в свойство

Практическое руководство. Получение значения из свойства

Основные понятия

Процедуры в Visual Basic

Процедуры свойств

Параметры и аргументы процедуры

Различия между свойствами и переменными в Visual Basic

Ссылки

Оператор Property