2009-08-27 7 views
2

Unity XML 구성 및 제네릭이있는 두통이 있습니다. 나는이 파일이 :Generic을 사용한 Unity XML 구성

public interface IRepository<T> {} 

public class OrderRepository : IRepository { } 

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

내가 유니티 XML 구성을 사용하여 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> 

답변

2

... 그리고 문제가 : 지금까지 난 그렇게 같은 것을 가지고?

아주 최근에 제네릭으로 일부 작업을했는데 구문에 문제가있었습니다. 분명히 나는 ​​T의 유형이 무엇인지 단결을 말하기는 쉽지 않았다 :

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

이것은 어떤 방식 으로든 당신을 도울까요?

+0

죄송합니다. 좀 더 설명이 잘되어 있어야합니다. 귀하의 솔루션을 완벽하게, 감사합니다 :) –