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 に答える