1

有如下接口

public interface IFoo<T> : IComparable<IPayRecordField<T>> where T : IComparable

我想用实现 Foo 自动填充 IFoo 的所有属性。使用结构图

例子

class SomeClass
{
   IFoo<string> MyFoo {get; set;} //this should be autofilled by structuremap with an instance of Foo<string>
}
4

1 回答 1

1

这实际上相当简单。您可以将一个开放的通用接口映射到一个开放的通用实现,就像您注册任何其他类型一样:

container.Configure(r => r
    .For(typeof(IFoo<>))
    .Use(typeof(Foo<>)));

Foo<SomeType>当您请求 a 时,StructureMap 将自动解析a IFoo<SomeType>

于 2013-08-22T12:10:08.653 回答