Конфигурация Unity XML с использованием обобщений - PullRequest
2 голосов
/ 27 августа 2009

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

public interface IRepository<T> {}

public class OrderRepository : IRepository { }

public class DispatchOrderProcess
{
     public DispatchOrderProcess(IRepository<Order> 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>

1 Ответ

2 голосов
/ 01 сентября 2009

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

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

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

тебе это как-нибудь поможет?

...