2009-08-27 38 views
2

對Unity XML配置和泛型有點頭疼。我有這些文件:帶泛型的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> 

回答

2

...和你的問題是什麼?

儘管我已經完成了一些與泛型相關的東西,但我在語法上遇到了一些麻煩。顯然,我neaded告訴團結什麼的typeof T爲,是這樣的:

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

這是否幫助你出去以任何方式?

+0

對不起,應該有點更具描述性了!您的解決方案完美工作,謝謝:) – 2009-09-01 14:59:47