编程语言
首页 > 编程语言> > c# – 在Unity中使用抽象工厂作为injectfactory吗?

c# – 在Unity中使用抽象工厂作为injectfactory吗?

作者:互联网

我有一个在一些控制器实例中注册注入的抽象工厂.
我可以注册那个抽象工厂并将其用作注塑工厂吗?

这就是我所拥有的:

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.

解决方法:

如果您的ILevelFactory已正确注册:

RegisterType<Levels>(new InjectionFactory((c) => c.Resolve<ILevelFactory>().GetLevels()))

标签:c,dependency-injection,unity-container,enterprise-library,abstract-factory
来源: https://codeday.me/bug/20190518/1128267.html