c#-通过名称解析
作者:互联网
我有以下Service类构造函数:
public class Service : IService
{
private readonly IRepository _repository;
public Service(IRepository repository)
{
_repository = repository;
}
// ...
}
IRepository有两个命名的实现.我想解析IService,但需要设置应该使用哪个IRepository实现(服务应该灵活,并且我不能将Dependency属性设置为IRepository构造函数参数).
有什么办法可以通过Unity来实现?
解决方法:
您可以使用unity config部分来实现此目的.
检查this链接.
在config部分中,您可以指定映射,如下所示.
<type type="IMyService" mapTo="MyDataService" name="DataService">
<typeConfig extensionType="Microsoft.Practices.Unity.Configuration.TypeInjectionElement,
Microsoft.Practices.Unity.Configuration">
<constructor>
<param name="connectionString" parameterType="string">
<value value="AdventureWorks"/>
</param>
<param name="logger" parameterType="ILogger">
<dependency />
</param>
</constructor>
<property name="Logger" propertyType="ILogger" />
<method name="Initialize">
<param name="connectionString" parameterType="string">
<value value="contoso"/>
</param>
<param name="dataService" parameterType="IMyService">
<dependency />
</param>
</method>
</typeConfig>
</type>
标签:unity-container,c,net 来源: https://codeday.me/bug/20191208/2094738.html