Mit ein bisschen Kopfschmerzen mit Unity XML-Konfiguration und Generika. Ich habe diese Dateien:
public interface IRepository<T> {}
public class OrderRepository : IRepository { }
public class DispatchOrderProcess
{
public DispatchOrderProcess(IRepository<Order> repository) { }
}
Ich möchte das Order Repository mit Hilfe der Unity XML-Konfiguration in die DispatchOrderProcess-Klasse injizieren. Bisher habe ich etwas wie so:
<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>