我在一些 Controller 实例中注册了一个抽象工厂用于注入(inject)。 我可以注册那个抽象工厂并将其用作注入(inject)工厂吗?
这是我的:
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# - 在 Unity 中使用抽象工厂作为注入(inject)工厂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5873757/