在Unity中使用抽象工厂作为注入工厂?

5

我有一个抽象工厂已经在某些控制器实例中注册了注入。

我能否将该抽象工厂注册并用作注入工厂?

这是我的代码:

public interface ILevelFactory
{
    Levels Create();
}

.RegisterType<ILevelFactory, LevelFactory>()
.RegisterType<Levels>(new InjectionFactory((c) => StaticLevelFactory.GetLevels()))

期望的情况:

.RegisterType<ILevelFactory, LevelFactory>()
.RegisterType<Levels>(*** look up and use ILevelFactory ***)

简而言之,我想摆脱StaticLevelFactory。
1个回答

6
如果您的ILevelFactory已经正确注册:
RegisterType<Levels>(new InjectionFactory((c) => c.Resolve<ILevelFactory>().GetLevels()))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接