C# 在Windsor容器中注册泛型类型

C# 在Windsor容器中注册泛型类型,c#,generics,castle-windsor,C#,Generics,Castle Windsor,我需要在我的Windsor容器中注册类型的open generic。这东西是怎么工作的 容器.Register(组件.For在注册开放泛型时使用非泛型方法: Component.For(typeof(IRepository<>))... Component.For(typeof(IRepository))。。。 通过使用FactoryMethod进行解析时,您可以访问请求的类型,因此可以将该类型传递给GetRepository,并根据传递的类型(System.type对象)解析

我需要在我的Windsor容器中注册类型的open generic。这东西是怎么工作的


容器.Register(组件.For在注册开放泛型时使用非泛型方法:

Component.For(typeof(IRepository<>))...
Component.For(typeof(IRepository))。。。
通过
使用FactoryMethod进行解析时,您可以访问请求的类型,因此可以将该类型传递给
GetRepository
,并根据传递的类型(System.type对象)解析存储库


作为旁注,我必须说,我发现您的设计非常不寻常。存储库保存对数据上下文的引用更为常见,而不是相反。也许您想换个角度看一下设计?

谢谢您的回答……我知道设计,问题是我使用的是一个遗留API,它看起来很简单e反过来说!那么我恐怕除非你有一个非泛型重载
GetRepository
,否则你将进入
methodInfo.MakeGenericMethod().Invoke()