具有泛型的Windsor依赖注入问题

时间:2011-02-28 10:48:29

标签: castle-windsor

我有一个界面IRepo <Entity>。我有一个通用的实现Repo<Entity>。 现在我只做以下

Container.Register(AllTypes.FromAssemblyNamed( “的AssemblyName”)。挑()                                   .WithService.DefaultInterface()                                   .Configure(c =&gt; c.LifeStyle.PerWebRequest))

并注册具有相应实现的所有接口。这似乎工作正常。

当我试图更具体时,我的问题出现了。 如果我尝试映射IRepo<Person>,而Person是一个使用<{p}}使用

进行实体的子类

Container.Register(Component.For(<UserRepo>)ImplementedBy(UserRepo).LifeStyle.PerWebRequest。);

它似乎不起作用。

我这样做的顺序是我正在注册这个特定的实现,然后加载并将所有接口注册到程序集中的类型。

它似乎不起作用。

1 个答案:

答案 0 :(得分:0)

DefaultInterface不支持泛型。您可以使用AllInterfacesSelect方法

使用自定义策略