Unity container Unity IOC容器以及如何解析同一接口的不同实例
我有一个unity容器,我正在其中注册类型,如下所示:Unity container Unity IOC容器以及如何解析同一接口的不同实例,unity-container,ioc-container,Unity Container,Ioc Container,我有一个unity容器,我正在其中注册类型,如下所示: IUnityContainer container = new UnityContainer() .RegisterType<ITaxAuthorityRateService, TaxAuthorityPopulationRateService>( "PopulationRate" ) .RegisterType<ITaxAuthorityRateService, TaxAuthorityBusinessLicen
IUnityContainer container = new UnityContainer()
.RegisterType<ITaxAuthorityRateService, TaxAuthorityPopulationRateService>( "PopulationRate" )
.RegisterType<ITaxAuthorityRateService, TaxAuthorityBusinessLicenseRateService>( "BusinessLicenseRate" );
IUnityContainer container=newunitycontainer()
.RegisterType(“填充率”)
.RegisterType(“业务许可证费率”);
然后,我还想注册两个不同的服务,它们在构造函数中使用ITaxAuthorityRateService变量。这两个服务都需要从ITaxAuthorityRateService派生的不同类。我该怎么处理这种情况呢?好的,我想出来了。在注册期间保持名称相同是正确的(“PopulationRate”和“BusinessLicenseRate”)。我所要做的就是在每个服务的构造函数中为ITaxAuthorityRateService参数添加一个属性,如下所示: Service1构造函数参数:
[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService
Service2构造函数参数:
[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService
然后,每个服务都收到了正确的ITaxAuthorityRateService实例。好的,我知道了。在注册期间保持名称相同是正确的(“PopulationRate”和“BusinessLicenseRate”)。我所要做的就是在每个服务的构造函数中为ITaxAuthorityRateService参数添加一个属性,如下所示: Service1构造函数参数:
[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService
Service2构造函数参数:
[Dependency( "BusinessLicenseRate" )]
ITaxAuthorityRateService rateService
[Dependency( "PopulationRate" )]
ITaxAuthorityRateService rateService
然后每个服务都收到了正确的ITaxAuthorityRateService实例