2009-08-27 2 views
2

Немного о головной боли с конфигурацией и дженериками Unity XML. У меня есть эти файлы:Unity XML Configuration with Generics

public interface IRepository<T> {} 

public class OrderRepository : IRepository { } 

public class DispatchOrderProcess 
{ 
    public DispatchOrderProcess(IRepository<Order> repository) { } 
} 

Я хотел бы, чтобы впрыснуть заказ Repository в класс DispatchOrderProcess с использованием конфигурации Unity XML. До сих пор у меня есть что-то вроде так:

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

ответ

2

... и ваша проблема?

В последнее время я немного поработал с дженериками, и у меня были некоторые проблемы с синтаксисом. Видимо, я neaded сказать единство, что было TypeOf T, что-то вроде:

type="Company.Project.Core.Interfaces.IRepository`1 [[System.String, mscorlib version 2.0.0.0...etc]], Company.Project.Core" 

это поможет вам в любом случае?

+0

Извините, должно быть, было немного более наглядным! Ваше решение отлично работало, спасибо :) –