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。

4

1 回答 1

6

如果您的 ILevelFactory 已正确注册:

RegisterType<Levels>(new InjectionFactory((c) => c.Resolve<ILevelFactory>().GetLevels()))
于 2011-05-03T18:13:24.920 回答