0
我有一个接口IRepo <Entity>
。我有一个通用的实现Repo<Entity>
。 现在我只是做以下温莎依赖注入与泛型的问题
Container.Register(AllTypes.FromAssemblyNamed( “的AssemblyName”)。挑() .WithService.DefaultInterface() .Configure(C => c.LifeStyle.PerWebRequest))
并用各自的实现注册所有的接口。这似乎工作正常。
我的问题出现时,我试图更具体。 如果我尝试与人是使用
Container.Register(Component.For(IRepo<Person>
).ImplementedBy(UserRepo).LifeStyle.PerWebRequest)一类子类实体与<UserRepo>
映射IRepo<Person>
;
它似乎没有工作。
我这样做的顺序是我注册这个特定的实现,然后加载并注册所有的接口到类型从程序集。
它似乎没有工作。
定制策略我使用Container.Register(typeof(IRepo),typeof(UserRepositry));然后做Container.Register(AllTypes.FromAssemblyNamed(“assemblyname”)。Pick().WithService.AllInterfaces().Configure(c => c.LifeStyle.PerWebRequest))。仍然没有运气:( –
2011-02-28 13:11:14
好吧,我终于解决了它,我忘了提到在实现的子类的函数覆盖现在温莎地图根据泛型类型。 – 2011-02-28 13:37:58