2012-09-03 30 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") 
相关问题