在我目前的项目中,我目前正在尝试更换Windsor IoC,转而使用结构图(2.6.1)。但是在注册一些泛型类型时遇到了一些问题。我如何注册IFilterConverter<T>
以使用FilterConverter<SomeSpecificType>
。我已经尝试过ConnectImplementationsToTypesClosing(IFilterConverter),但是从我所读的内容(Jimmy Bogard's article)开始,我需要一个如此定义的具体类型: - SomeConcreteType : IFilterConverter<SomeSpecificType>
为此工作而我没有。
重申一下,如果我有一个带有构造函数参数IFilterConverter<SomeSpecificType>
的类型,我希望结构图为我提供FilterConverter<SomeSpecificType>
。
使用Windsor我正在使用XML配置选项(我想要远离它)但我所做的只是设置配置如下:
<component id="IFilterConverter" service="SomeNamespace.IFilterConverter`1, SomeNamespace" type="SomeNamespace.FilterConverter`1, SomeNamespace" lifestyle="PerWebRequest">
如何在SM中使用等效项(使用代码,而不是XML配置文件)
由于
答案 0 :(得分:1)
我认为应该这样做。
_container = new Container();
_container.Configure(x =>
{
x.For(typeof (IFilterConverter<>)).Use(typeof (FilterConverter<>));
});