2013-08-22 57 views
1

有以下接口Structuremap和仿制药的开放式泛型类型

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

我想自动填充与实施美孚的IFoo的所有属性。使用Structuremap

例如

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

为什么你不使用构造函数注入? – Steven

回答

1

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

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

StructureMap会自动解决Foo<SomeType>当你请求一个IFoo<SomeType>

+0

是的,这是一个新的实例。但我怎么做属性注入到SomeClass所以MyFoo自动设置与Foo Middy

+0

看到这个答案:http://stackoverflow.com/questions/4979453/structuremap-beginner-property-injection – Steven

+0

我不能看到如何工作仿制药? – Middy

相关问题