2

我正在为视频游戏开发一个平台,它是纯 c# 代码,我想使用 Zenject 进行依赖注入。这个想法是这个平台可以初始化它的依赖注入,而不管它在哪里使用。我在平台上有这个类:

public static class DIManager
    {
        private static DiContainer _container;

        public static DiContainer Container {get => _container; set => _container = value; }

        public static void Initialize ()
        {
            _container = new DiContainer ();
            InstallBindings ();
        }

        private static void InstallBindings ()
        {
            _container.Install <AppInstaller> ();
        }

    }

它创建并初始化平台中使用的容器,但要在平台外使用它,我总是必须调用:

_foo = DIManager.Container.TryResolve <Foo> ();

这是实现我想要的想法的正确方法吗?这种获得平台类的方法是否最佳(就性能而言)?您的任何想法或建议将不胜感激,问候。

4

0 回答 0