对Unity XML配置和泛型有点头疼。我有这些文件:
public interface IRepository<T> {}
public class OrderRepository : IRepository { }
public class DispatchOrderProcess
{
public DispatchOrderProcess(IRepository<Order> repository) { }
}
我想使用Unity XML配置将Order Repository注入DispatchOrderProcess类。到目前为止,我有类似的东西:
<type name="OrderRespository" type="Company.Project.Core.Interfaces.IRepository`1, Company.Project.Core" mapTo="Company.Project.Core.Repositories.OrderRepository, Company.Project.Core" />
<type name="DispatchOrderProccess" type="Company.Project.Core.Interfaces.ISendAlertsProcess, Company.Project.Core" mapTo="Company.Project.Core.Processes.SendAlertsProcess, Company.Project.Core">
<typeConfig>
<constructor>
<param name="orderRepository" parameterType="Company.Project.Core.Interfaces.IRepository`1, Company.Project.Core">
<dependency name="OrderRespository"/>
</param>
</constructor>
</typeConfig>
</type>
</types>
</container>
</containers>
答案 0 :(得分:2)
......你的问题是什么?
我最近做了一些关于泛型的东西,但我在语法方面遇到了一些麻烦。显然我很想告诉团结T的类型是什么,例如:
type="Company.Project.Core.Interfaces.IRepository`1 [[System.String, mscorlib version 2.0.0.0...etc]], Company.Project.Core"
这会以任何方式帮助你吗?