5

我有一個抽象工廠在一些控制器實例中註冊注入。 我可以註冊抽象工廠並將其用作注塑工廠嗎?在Unity中使用抽象工廠作爲injectionfactory?

這是我有:

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

回答

6

如果ILevelFactory正確註冊:

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

不錯!謝謝。 :) – 2011-05-03 18:29:48