Autofac:解析具有类型和名称的实例?

时间:2012-09-03 13:18:13

标签: types get instance autofac

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

1 个答案:

答案 0 :(得分:1)

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

DIInjector.ResolveNamed<ICommunicationProvider>("FrmMainCommunicator")