Отсутствует CreateChildContainer в Unity 5.9.x - PullRequest
0 голосов
/ 06 февраля 2019

Раньше был метод UnityContainer.CreateChildContainer() в Unity IoC версии 5.8.x.Тем не менее, он рассеялся с версии 5.9.x.Означает ли это, что весь дочерний контейнер был удален?Есть ли другой способ, как этого добиться?

1 Ответ

0 голосов
/ 11 февраля 2019

Полагаю, вы пытались использовать синтаксис var при определении UnityContainer.Поскольку версия 5.9.0 IUnityContainer.CreateChildContainer имеет явную реализацию в UnityContainer с использованием var, может сложиться впечатление, что CreateChildContainer, а также любой другой явно реализованный метод больше не существует.

//Not possible with unity>=5.9.0, this way uc has access to class methods
var uc = new UnityContainer();
using(var child = uc.CreateChildContainer()){...}

//Possible with unity>=5.9.0, this way uc has access to interface methods
IUnityContainer uc = new UnityContainer();
using(var child = uc.CreateChildContainer()){...}

nb Обычно это поведение с var и явно реализованными интерфейсными методами

...