Практическое руководство. Доступ к членам объекта

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

Если имеется объектная переменная, которая ссылается на объект, часто требуется работать с членами этого объекта, например его методами, свойствами, полями и событиями. Например, после создания нового объекта Form, возможно, потребуется задать для него свойство Text или вызвать его метод Focus.

Доступ к членам

Доступ к членам объекта можно получить через переменную, которая ссылается на него.

Чтобы получить доступ к членам объекта

Доступ к членам объекта известного типа

Если во время компиляции известен тип объекта, можно использовать раннее связывание для переменной, которая ссылается на него.

Доступ к членам объекта, тип которого известен во время компиляции

  1. Объявите переменную объекта с типом объекта, который требуется присвоить переменной.

    Dim extraForm As System.Windows.Forms.Form
    

    С помощью команды Option Strict On можно назначить только объекты Form (или объекты типа, производного от Form) для extraForm. Если класс или структура определены с помощью расширяющего преобразования CType в Form, можно также назначить класс или структуру для extraForm.

  2. Используйте оператор доступа к членам (.) между именем переменной объекта и именем члена.

    extraForm.Show()
    

    Можно получить доступ ко всем методам и свойствам, характерным для класса Form, независимо от параметра Option Strict.

Доступ к членам объекта неизвестного типа

Если тип объекта неизвестен во время компиляции, необходимо использовать позднее связывание для любой переменной, которая ссылается на него.

Доступ к членам объекта, тип которого неизвестен во время компиляции

  1. Объявите переменную объекта как Тип данных Object. Объявление переменной как Object совпадает с объявлением ее как System.Object.

    Dim someControl As Object
    

    С помощью команды Option Strict On доступны только члены, определенные в классе Object.

  2. Используйте оператор доступа к членам (.) между именем переменной объекта и именем члена.

    someControl.GetType()
    

    Чтобы иметь возможность доступа к членам из любого объекта, назначаемого переменной объекта, необходимо задать параметр Option Strict Off. После этого компилятор не может гарантировать, что доступ к данному члену будет предоставляться с помощью объекта, назначаемого переменной. Если объект не предоставляет член при попытке доступа, возникает исключение MemberAccessException.

См. также

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

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

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

Ссылки

Тип данных Object

Оператор Option Strict

Object

Form

MemberAccessException