PragmaGames
@PragmaGames
Увлекаюсь Unity.

Почему Zenject не резолвит зависиомсти в SubContainer?

При таком варианте конструкторы у классов Test1 и Test2 не отрабатывают, хотя это ПРИМЕР из доки.
public void InstallBindings(DiContainer container)
{
    var subContainer = container.CreateSubContainer();
    
    SimpleInstaller(subContainer);
}
public void SimpleInstaller(DiContainer container)
{
    container.BindInterfacesAndSelfTo<Test2>().AsSingle().NonLazy();
    container.BindInterfacesAndSelfTo<Test1>().AsSingle().NonLazy();
}


Если заменить на это (смотри ниже), все будет работать

public void InstallBindings(DiContainer container)
{
    container.BindInterfacesAndSelfTo<Test2>().FromSubContainerResolve().ByMethod(SimpleInstaller).AsSingle().NonLazy();
}
public void SimpleInstaller(DiContainer container)
{
    container.BindInterfacesAndSelfTo<Test2>().AsSingle().NonLazy();
    container.BindInterfacesAndSelfTo<Test1>().AsSingle().NonLazy();
}
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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