2013-08-22 97 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

相關問題