0

我在 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");
4

1 回答 1

1

如果DIInjector是 Autofac 容器,则需要ResolveNamed方法:

DIInjector.ResolveNamed<ICommunicationProvider>("FrmMainCommunicator")
于 2012-09-12T22:02:35.797 回答