我想實現:具有單位從配置文件加載的映射,然後在源代碼解決這是從加載的類型說配置文件團結 - loadConfiguration,如何解決只有那些配置
應用。配置
<register type="NameSpace.ITill, ExampleTightCoupled" mapTo="NameSpace.Till, NameSpace" />
<register type="NameSpace.IAnalyticLogs, NameSpace" mapTo="NameSpace.AnalyticLogs, NameSpace" />
代碼
IUnityContainer container;
container = new UnityContainer();
// Read interface->type mappings from app.config
container.LoadConfiguration();
// Resolve ILogger - this works
ILogger obj = container.Resolve<ILogger>();
// Resolve IBus - this fails
IBus = container.Resolve<IBus>();
問題:有時下iBus將在App.config定義,有時它不會在那裏。當我嘗試解析一個接口/類並且它不存在時,我得到一個異常。
有人可以在這裏教育我嗎?
感謝, 安德魯
您正在使用什麼版本的Unity
防止一起進入這種情況。如果'IBus'是一個可選的依賴項,那麼創建並註冊一個[Null Object Pattern](http://en.wikipedia.org/wiki/Null_Object_pattern)實現(一個空實現,實際上是一個空操作)。這可以防止你不得不復雜化你的應用程序邏輯。 – Steven