3

是否有一种流畅的方式来编写以下内容:

var someTypes = GetType()
    .Assembly
    .GetTypes()
    .Where(x => someFilter == true);

foreach(var someType in someTypes)
{
    var genericInterface = typeof(IFoo<>).MakeGenericType(someType);

    var genericImplementation = typeof(Foo<>).MakeGenericType(someType);

    container.Register(
       Component.For(genericInterface)
            .ImplementedBy(genericImplementation));
}
4

2 回答 2

3

aIGenericServiceStrategy是您所追求的(在@maxlego 所说的之上,这是正确的)

有关详细信息和示例,请参阅此内容。

于 2013-07-23T11:30:26.550 回答
2

下面应该给它

container.Register(
    Component.For(typeof(IFoo<>))
      .ImplementedBy(typeof(Foo<>))
);
于 2013-07-23T08:05:17.667 回答