3

我在我的解決方案中使用了構造函數注入,但是這個類有一個屬性,我不想在構造函數中傳入我具有不變依賴關係的地方。Microsoft Unity的Programatic屬性注入

比方說,我有一個ILogger,它有一個我想設置的FileName屬性,同時仍然讓它在構造器中設置依賴關係。 我如何去註冊類型,並在同一時間傳遞defaunt連接字符串。

我希望有一個簡單的方法來做到這一點 - 最好不與屬性裝飾的財產,但如果設置爲與屬性更容易我想這是很酷的:)

所以現在的問題是,怎麼辦我在也使用構造器注入的對象上注入屬性值 - 使用Unity。

更新:我在標題中提到這個問題,但我忘了在正文中闡述 - 我想手動設置這些依賴了(代碼)作爲一個配置文件反對。

回答

2

好吧,我想這有助於提出這個問題,我發現 - 在這裏。

container.Configure<InjectedMembers>().ConfigureInjectionFor<BasicLogger>(
    new InjectionProperty("FileName", @"C:\test.log") 
); 
0

如果您要注入屬性,則必須使用[Dependency]或者手動注入該依賴項。

+0

是的,我沒有說清楚 - 但我確實想手動完成它;) – 2009-07-07 11:49:14

0

您通常需要注入IConfiguration接口。這可能會有一個您可以閱讀的LogFile屬性。

配置implimentation通常只是一個簡單的包裝從配置文件中讀取項目。

+0

你有一個很好的觀點,但我們試圖儘可能保持簡單,所有這些具體的實施需求是一個文件名。 – 2009-07-15 06:34:24