Библиотека для создания оберток (прокси) над классами.
Прокси-объект повторяет публичный интерфейс класса (экспортные методы и поля),
делегируя вызов вложенному реальному объекту.
Возможности:
docs - todo;
#Использовать proxy
КакойТоКласс = Новый КакойТоКласс();
КакойТоКласс.Поле = 123;
ИмяМетода = "ДобавленнаяФункция";
ТекстМетода = "Возврат Поле + 1;";
Прокси = Новый КонструкторПрокси(КакойТоКласс)
.ДобавитьИмпортПоИмени("fs")
.ДобавитьПубличноеПоле("НовоеПоле", "ЗначениеПоУмолчанию")
.ДобавитьМетод(ИмяМетода, ТекстМетода)
.ДобавитьПередВызовомМетода("ДобавленнаяФункция", "Сообщить(""Привет, мир!"");")
.Построить();
Ожидаем.Что(Прокси.Поле).Равно(123);
Ожидаем.Что(Прокси.РоднаяФункцияВозвращающаяИстина()).ЭтоИстина();
Ожидаем.Что(Прокси.ДобавленнаяФункция()).Равно(124);
// Конструктор
//
// Параметры:
// Объект - Произвольный - Инстанс объекта, над которым нужно создать прокси-объект.
//
Процедура ПриСозданииОбъекта(Объект)
// Добавляет в прокси-объект новое приватное поле.
//
// Параметры:
// ИмяПоля - Строка - Имя добавляемого поля
// ЗначениеПоля - Произвольный - Значение, которым необходимо проинициализировать добавляемое поле.
// Если не задано, поле не инициализируется и содержит Неопределено.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьПриватноеПоле(ИмяПоля, ЗначениеПоля = Неопределено)
// Добавляет в прокси-объект новое публичное (экспортное) поле.
//
// Параметры:
// ИмяПоля - Строка - Имя добавляемого поля
// ЗначениеПоля - Произвольный - Значение, которым необходимо проинициализировать добавляемое поле.
// Если не задано, поле не инициализируется и содержит Неопределено.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьПубличноеПоле(ИмяПоля, ЗначениеПоля = Неопределено)
// Добавляет в прокси-объект новый публичный (экспортный) метод.
//
// Параметры:
// ИмяМетода - Строка - Имя добавляемого метода.
// ТекстМетода - Строка - Текст добавляемого метода. Допустимо использование многострочной строки.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьМетод(ИмяМетода, ТекстМетода)
// Добавляет в прокси-объект перехватчик, срабатывающий перед вызовом указанного метода.
//
// Параметры:
// ИмяМетода - Строка - Имя перехватываемого метода.
// ТекстПерехватчика - Текст - Текст добавляемого перехватчика. Допустимо использование многострочной строки.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьПередВызовомМетода(ИмяМетода, ТекстПерехватчика)
// Добавляет в прокси-объект перехватчик, срабатывающий после вызова указанного метода.
//
// Параметры:
// ИмяМетода - Строка - Имя перехватываемого метода.
// ТекстПерехватчика - Текст - Текст добавляемого перехватчика. Допустимо использование многострочной строки.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьПослеВызоваМетода(ИмяМетода, ТекстПерехватчика)
// Добавляет в прокси-объект импорт библиотеки (#Использовать) по имени библиотеки.
//
// Параметры:
// ИмяБиблиотеки - Строка - Имя библиотеки.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьИмпортПоИмени(ИмяБиблиотеки)
// Добавляет в прокси-объект импорт библиотеки (#Использовать) по пути к библиотеке.
//
// Параметры:
// ПутьКБиблиотеке - Строка - Путь к библиотеке. Можно использовать как абсолютный, так и относительный путь.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьИмпортПоПути(ПутьКБиблиотеке)
// Добавляет в прокси-объект шаг инициализации в тело модуля.
//
// Параметры:
// ТекстШага - Строка - Выполняемый код.
//
// Возвращаемое значение:
// КонструкторПрокси - Ссылка на текущий инстанс КонструкторПрокси
//
Функция ДобавитьШагИнициализации(ТекстШага)
// Получить сконструированный текст сценария будущего прокси-объекта
//
// Возвращаемое значение:
// Строка - Текст сценария прокси-объекта
//
Функция ТекстСценария()
// Сконструировать готовый прокси-объект по настройкам конструктора прокси.
//
// Параметры:
// ТекстСценария - Строка - Текст сценария прокси-объекта. Если не задан, формируется автоматически.
//
// Возвращаемое значение:
// Произвольный - Прокси над объектом, переданным в конструктор прокси
//
Функция Построить(ТекстСценария = Неопределено)
// Получает тип объекта, вокруг которого построен прокси-объект (рекурсивно).
//
// Параметры:
// Прокси - Произвольный - Объект, у которого нужно найти исходный тип объекта
//
// Возвращаемое значение:
// Тип - Исходный тип объекта
//
Функция ИсходныйТип(Прокси)
// Синхронизировать значения экспортных полей двух объектов.
//
// Параметры:
// ИсходныйОбъект - Произвольный - Источник значений свойств
// Потребитель - Произвольный - Получатель значений свойств
//
Процедура СинхронизироватьПоля(ИсходныйОбъект, Потребитель)
// Имя поля, в котором хранится ссылка на исходный объект.
Перем Поле_ИнстансОбъекта Экспорт;
1. Откройте маркетплейс из главного меню TurboConf или из меню в панели уведомлений.
2. Найдите нужную разработку.
3. Нажмите кнопку Установить.
TurboConf все установит автоматически!