我在frm_main中有下一个代码
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");
答案 0 :(得分:1)
如果DIInjector
是Autofac容器,则需要ResolveNamed
方法:
DIInjector.ResolveNamed<ICommunicationProvider>("FrmMainCommunicator")