在新的WPF項目(VS2010)中,我第一次使用Unity 2。 在這個項目中,我使用以下結構:如何在多項目解決方案中使用Unity進行解析
解決方案
WPF項目
類分享幫助
類Library2
類庫3 ....
的註冊使用Unity的不同類型在WPF項目中使用以下代碼片段完成:
IUnityContainer container = new UnityContainer()
.RegisterType<IObjectContext, ObjectContextAdapter>()
.RegisterType<IConnectionStringProvider, ConnectionStringProvider>()
.RegisterType(typeof(IRepository<>), typeof(Repository<>));
現在讓我們假設我想要在類庫1中解決構造器注入的構造器注入問題。 顯然容器在其他項目中是不知道的!
我該怎麼做?
假設我在Class Library 1中有一個名爲「ManageUser」的對話框。 ManageUser如何獲取WPF項目中聲明的容器實例? – 2013-08-09 17:01:25
@Ryan - 是否有任何理由在一個通用項目中使用接口?爲什麼不使Registry類和Configure方法都是靜態的,並調用它:'RegistryForSomeClassLibrary.Configure(container); RegistryForAnotherClassLibrary.Configure(容器);'我測試了這個,它工作。我錯過了什麼嗎? – Shevek 2014-05-25 02:19:07
@Shevek,這工作正常。我曾經使用反思來解決我的註冊問題,但是一段時間後放棄了。現在我明確地在每個註冊表中調用'Configure()'。 – Ryan 2014-05-25 02:52:48