Операция «.» — обращение к свойствам и методам
В этом разделе мы подробнее остановимся на таких способах использования переменных, как доступ к свойствам и методам экземпляров, использовании переменной в каком-либо выражении или в роли источника в инструкции присваивания.
Обращение к свойствам экземпляра
Если экземпляр имеет свойства, то для доступа к свойствам используется операция . (обращение "через точку"). Она отделяет имя переменной от имени свойства, к которому необходимо обратиться. Такое обращение может использоваться как для чтения значения свойства, так и для установки значения свойства (если свойство допускает изменение).
Так, для обращения к свойству Имя
экземпляра ИниФайл
типа Файл, следует написать
выражение вида:
ИниФайл.Имя
Допускается последовательное использование операций обращения, если получаемое значение свойства, в свою очередь, также имеет свойства, продолжая использовать экземпляр типа Файл, можно написать следующий пример:
ПапкаСФайлами.Дочерние[0].Имя
- Первая точка (
ПапкаСФайлами.Дочерние
) используется для доступа к свойству Дочерние экземпляра типа Файл. - Операция доступа по индексу [] используется для доступа к элементу массива, который выступает в качестве одного из типов свойства Дочерние. В нашем примере используется доступ к самому первому элементу массива
- Последняя точка (
[0].Имя
) позволяет получить доступ к свойству Имя экземпляра типа Файл, который расположен в самом первом элементе массива, выступающего в качестве значения свойства Дочерние.
Очевидно, что такое использование чревато различными ошибками времени исполнения, поэтому такие сложные конструкции следует использовать только в том случае полной уверенности в том, что данное выражение не приведет к ошибке.
Вызов методов экземпляра
Обращение к методам экземпляров всегда выполняется с помощью операции .. Вызов метода может использоваться в качестве участника выражения, если у метода есть возвращаемое значение подходящего типа. Использование вызова метода в левой части инструкции присваивания не поддерживается.
«1С:Шина» поддерживает возможность каскадного вызова методов экземпляров:
Наименование.Подстрока(3, 5).Длина()
В данном примере переменная Наименование
имеет тип Строка. У экземпляра типа Строка
существует метод Подстрока(), который возвращает значение типа Строка. У экземпляра типа
Строка существует метод Длина().
Таким образом, вначале из строки Наименование
получается подстрока, а потом у получившейся подстроки получается длина.
В том случае, когда вы четко не уверены, метод какого экземпляра будет вызван, следует использовать круглые скобки для явного определения экземпляров.