ssannandeji / Zenject-2019

Dependency Injection Framework for Unity3D
MIT License
2.53k stars 363 forks source link

IInitializable not working in subcontainers #626

Open Xonoroff opened 5 years ago

Xonoroff commented 5 years ago

If I'm working inside subcontainer I want to have opportunity to bind IInitializable to class that was binded inside subcontainer.

public override void InstallBindings()
    {
        Container.Bind<InitializeableClass>().FromSubContainerResolve().ByMethod(Sub).AsTransient();
        Container.Bind<MyClass>().AsTransient();
        Container.Resolve<MyClass>();
        Container.Resolve<MyClass>();
        Container.Resolve<MyClass>();
    }

    public void Sub(DiContainer container)
    {
        container.Bind<InitializeableClass>().AsSingle();
        container.Bind<IInitializable>().To<InitializeableClass>().FromResolve();

    }

    public class MyClass
    {
        [Inject]
        private InitializeableClass asdasd;
    }

    public class InitializeableClass : IInitializable
    {
        public void Initialize()
        {
            throw new NotImplementedException();
        }
    }
SupaColdFire commented 4 years ago

Have the same issue. Help.