Приветствую Вас ГостьСуббота, 04.05.2024, 23:17

Каталог статей


Передача параметров по значению

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

Чтобы было более понятно, есть разница между определениями методов:

  1. Медот1( Параметр1)
  2. Метод1(Знач Параметр1)

Для второго примера, если в качестве значения в Параметр1 передается примитивный тип, то, чтобы ты не делал с ним внутри метода, за пределами этого метода значение останется тем, которое было до вызова метода.

А вот если в качестве значения передать объект (массив или таблица значений), то после выхода из метода, все изменения будут видны. Например если так передать массив, и удалить некоторые записи внутри метода, то после выхода из метода массив будет урезанным. Это работает, если нет прямой передачи между Клиентом и Сервером, т.е. если метод клиента вызывается из клиента, или метод сервера вызывается с сервера. Если метод клиента вызывает метод сервера, то при использовании ЗНАЧ, значение параметра ведет себя корректно, так как при передачи с клиента на сервер и обратно происходит сериализация значения параметра в строку и обратно не преобразовывается. 

Есть статья по этому поводу здесь.

Категория: Программирование | Добавил: leshic (28.12.2023)
Просмотров: 45 | Рейтинг: 0.0/0
Всего комментариев: 0
Вход на сайт
Поиск
Категории раздела
СКД [48]
Регистры [7]
Формы [40]
Администрирование [34]
Запросы [10]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [29]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0