FromNewComponentSibling, а затем использовать повторно

Container.Bind<ICompanion>()
    .To<RouMainMenuPresenterCompanion>()
    .FromNewComponentSibling()
    .WhenInjectedInto<MainMenuPresenter>();

Container.Bind<RouMainMenuPresenterCompanion>()
    .FromResolve();

Я хочу такой же экземпляр RouMainMenuPresenterCompanion вводиться в MainMenuPresenter как ICompanion (FromNewComponentSibling) и использовать этот созданный экземпляр в будущем как RouMainMenuPresenterCompanion для любого резольвера

Пример выше приводит к круговой зависимости. Как я могу решить мою проблему?

1 ответ

Решение

Я мог бы не правильно понять, но не могли бы вы просто изменить это на это?

Container.Bind(typeof(ICompanion), typeof(RouMainMenuPresenterCompanion))
    .To<RouMainMenuPresenterCompanion>()
    .FromNewComponentSibling()
    .WhenInjectedInto<MainMenuPresenter>();

Редактировать: Это, вероятно, больше того, что вы искали:

Container.Bind<RouMainMenuPresenterCompanion>()
    .FromNewComponentSibling()
    .WhenInjectedInto<MainMenuPresenter>();

Container.Bind<ICompanion>()
    .To<RouMainMenuPresenterCompanion>()
    .FromResolveGetter<MainMenuPresenter>(p => p.Companion)
Другие вопросы по тегам