Задать вопрос
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();
}
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    C# Developer. Professional
    6 месяцев
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 1
    1 неделя
    Далее
  • Software-testing.ru
    Программирование на C# для тестировщиков
    10 недель
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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