2

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

4

1 回答 1

2

...你的问题是?

不过,我最近用泛型做了一些事情,但我在语法上遇到了一些问题。显然我需要告诉 unity T 的类型是什么,例如:

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

这对您有任何帮助吗?

于 2009-09-01T06:20:45.237 回答