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


Объектные переменные в Visual Basic

Кроме того, что переменные могут хранить значения, они могут также ссылаться на объект. Объект присваивается переменной по тем же причинам, по которым переменным присваиваются значения:

  • Имя переменной, как правило, короче и легче запоминается, чем полный путь, содержащий методы и свойства, необходимые для доступа к самому объекту.

  • Использование переменной, ссылающейся на объект, более эффективно, чем повторяющееся обращение к самому объекту с помощью необходимых методов или свойств.

  • Переменную можно изменить для ссылки на другие объекты во время выполнения приложения.

Уменьшение размера кода

Можно использовать объектные переменные для сокращения вводимого кода. В следующем примере используется полный путь, содержащий свойства и методы, необходимые для доступа к объекту Control.

' Assume Me is a valid Form, or replace Me with a valid Form.
Me.ActiveForm.ActiveControl.Text = "Test"
Me.ActiveForm.ActiveControl.Location = New Point(100, 100)
Me.ActiveForm.ActiveControl.Show()

Этот код можно сократить и ускорить его выполнение с помощью объектной переменной. Эту объектную переменную необходимо объявить в определенном классе, которому требуется ее присвоить (в данном случае — Control ). После того, как объект был присвоен переменной, с ней можно работать точно также, как с объектом, на который она ссылается. Можно задать или извлечь свойства объекта или использовать любой из его методов. В следующем примере используется объектная переменная для упрощения кода предыдущего примера.

Dim ctrlActv As System.Windows.Forms.Control = Me.ActiveForm.ActiveControl
ctrlActv.Text = "Test"
ctrlActv.Location = New Point(100, 100)
ctrlActv.Show()

См. также

Задачи

Практическое руководство. Увеличение скорости доступа к объекту с длинным классификационным путем (Visual Basic)

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

Объявление переменной в Visual Basic

Объявление переменных объектов (Visual Basic)

Присваивание объектных переменных (Visual Basic)

Значения объектных переменных (Visual Basic)