Книга: «1С:Предприятие.Элемент». Возможности встроенного языка
Назад: Обобщенные типы
Дальше: Статические системные методы

Обобщенные системные методы

В языке «1С:Предприятия» не использовались обобщенные системные методы.

Теперь в языке «Элемента» применяются обобщенные системные методы – это методы, имеющие тип-параметр, влияющий на типизацию метода.

Тип параметра метода накладывает опциональное ограничение на тип аргумента, с которым вызывается метод. То есть метод может быть вызван для параметра (параметров), типы которых определяются типом-параметром метода. Таким же образом тип результата метода может быть связан с типом параметра метода.

При вызове системного обобщенного метода тип-параметр указывается в угловых скобках после имени метода без пробела. Причем этот тип может быть составным. Если тип метода может быть выведен из контекста (по параметрам), то, по аналогии с обобщенными типами, его явно указывать не требуется. Например:

пер Переменная1 = Макс<Число>(11, 7, 13) //результат = 13

пер Переменная2 = Макс<Строка|Число>("90", "66", "82") //результат = «90»

пер Переменная3 = Макс("сто", "три", "двадцать") //результат = «три»

Нужно учитывать, что на момент написания данной книги нет возможности создавать собственные обобщенные методы. Обобщенные методы могут быть только в системных экземплярах. В приведенном выше примере это метод глобального контекста Макс().

Можно привести еще следующие примеры обобщенных системных методов:

ЧитаемоеСоответствие<тип-ключа, тип-значения>

.ПолучитьИлиУмолчание<ТипУмолчания>(

Ключ: тип-ключа,

Умолчание: тип-значения|ТипУмолчания

): тип-значения|ТипУмолчания

Здесь тип-параметр ТипУмолчания определяет тип значения, которое будет возвращено в том случае, если читаемое соответствие не содержит указанного ключа.

ЗапланированныеЗадания

.Создать<Type1, Type2 >(

Обработчик: (Type1, Type2)->ничто,

Параметр1: Type1,

Параметр2: Type2

)

Здесь типы-параметры Type1, Type2 и т. д. определяют типы значений параметров, которые передаются в метод, который будет вызван для выполнения запланированного задания.

ФоновыеЗадания

.Выполнить<Type1, Type2 >(

Обработчик: (Type1, Type2)->ничто,

Параметр1: Type1,

Параметр2: Type2

)

Здесь типы-параметры Type1, Type2 и т. д. определяют типы значений параметров, которые передаются в метод, который будет вызван для выполнения фонового задания.

Назад: Обобщенные типы
Дальше: Статические системные методы