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