Замок Windsor: мой переходный компонент будет собран "мусор"?

foreach($some_array as $item) скопирует весь массив на лету, как только любой элемент будет изменен. Вам нужно работать со ссылкой, используя вместо этого оператор &.

foreach($myArray as &$array):
  foreach($array as $ul => &$v):
6
задан Community 23 May 2017 в 12:26
поделиться

2 ответа

По умолчанию контейнер содержит ссылку на Ваши объекты (даже переходные).

Однако как @Bittercoder отмечает в том, Почему замок Windsor содержит на временные объекты?, можно изменить политику отслеживания выпуска. Это кажется тем выбором

LifecycledComponentsReleasePolicy:

var policy = container.Kernel.ReleasePolicy;
container.Kernel.ReleasePolicy = LifecycledComponentsReleasePolicy;

Но так как вопрос задали, это, кажется, стало политикой по умолчанию.

9
ответ дан 10 December 2019 в 00:45
поделиться

Одна вещь отметить состоит в том, что это, кажется, было зафиксировано в замке Trunk. В r5475 изменился Hammett, значение по умолчанию опубликовывают стратегию в MicroKernel к LifecycledComponentsReleasePolicy.

1
ответ дан 10 December 2019 в 00:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: