本文介绍了使用抽象工厂与在Unity injectionfactory?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个抽象工厂在某些情况下,控制器注册了注射。 ?
我可以注册抽象工厂,并用它作为注射剂工厂

I have an abstract factory registered for injection in some controller instances.Can I register that abstract factory and use it as an injection factory?

这是我有:

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的。

In short, I want to get rid of the StaticLevelFactory.

推荐答案

如果您ILevelFactory正确注册:

If your ILevelFactory is properly registered:

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

这篇关于使用抽象工厂与在Unity injectionfactory?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-25 18:58