2012-09-03 44 views
0

我旁邊守則frm_mainAutofac:解析具有類型和名稱的實例嗎?

 ContainerBuilder builder = new ContainerBuilder(); 
     builder.RegisterInstance<FrmMainCommunicator>(new FrmMainCommunicator(this, this.pb_publisherStatus)).Named<ICommunicationProvider>("FrmMainCommunicator"); 
     builder.Update(SPInjector.Instance.Container); 

FrmMainCommunicator實現ICommunicationProvider接口。

然後,在另一個項目中,您需要FrmMainCommunicator的實例。

我需要這樣的東西:

ICommunicationProvider provider = DIInjector.Get<ICommunicationProvider>().Named("FrmMainCommunicator"); 
+1

什麼是'DIInjector'?你的問題是什麼?是不是按預期工作,或者你得到一個例外或..? – nemesv

回答

1

如果DIInjector是一種Autofac容器,你需要的ResolveNamed方法:

DIInjector.ResolveNamed<ICommunicationProvider>("FrmMainCommunicator") 
相關問題