gpt4 book ai didi

c# - 统一按名称解析

转载 作者:行者123 更新时间:2023-11-30 16:31:53 25 4
gpt4 key购买 nike

我有以下服务类构造函数:

public class Service : IService
{
private readonly IRepository _repository;

public Service(IRepository repository)
{
_repository = repository;
}

// ...
}

IRepository 有两个命名实现。我想解析 IService 但需要设置应该使用哪个 IRepository 实现(服务应该是灵活的,我不能将 Dependency 属性放入 IRepository 构造函数参数)。

Unity有什么办法实现吗?

最佳答案

您可以使用统一配置部分来实现此目的。检查this链接。

在配置部分,您可以指定如下映射。

 <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>

关于c# - 统一按名称解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4526978/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com