Как зарегистрировать это в конфигурации xml - PullRequest
0 голосов
/ 01 июня 2011

Как мне зарегистрировать что-то подобное в конфигурации xml (я знаю, я знаю, соглашение по конфигурации, но я поддерживаю устаревший код, поэтому мне нужно сделать это в конфигурации xml).

В частности, мне неясно, как зарегистрировать AssignTechniciansFactory с абстрактным базовым классом И типом интерфейса. Обычно я понимаю, как это сделать для базового класса ИЛИ только для интерфейса. Но как насчет регистрации обоих компонентов?

public class AssignTechniciansFactory: 
         BaseAssignTechniciansFactory<Service>, IAssignTechniciansFactory

Где:

public class Service : BaseAssignTechnician

И

public abstract class BaseAssignTechniciansFactory<T> 
                         where T: BaseAssignTechnician

Это то, что у меня есть, и я знаю, что это не правильно:

<component id="assignTechniciansFactory"
           service="MyNamespace.IAssignTechniciansFactory, MyAssembly" 
           type="MyNamespace.AssignTechniciansFactory, MyAssembly">
   <parameters>
     <dmq>${dmq}</dmq>
     <builder>${builder}</builder>
   </parameters>
</component>

Ответы [ 2 ]

1 голос
/ 02 июня 2011
0 голосов
/ 02 июня 2011

Замок теперь очень простителен, и вам не нужно указывать сборку или пространство имен, если сервис и тип уникальны во всех загруженных типах. Это должно работать, если у вас были проблемы с пространством имен или с именами сборок:

<component id="assignTechniciansFactory"
           service="IAssignTechniciansFactory" 
           type="AssignTechniciansFactory">
   <parameters>
     <dmq>${dmq}</dmq>
     <builder>${builder}</builder>
   </parameters>
</component>
...