2016-04-06 6 views
1

У меня есть зависимость, сконфигурированная в StructureMap, и она хотела бы украсить ее дважды. Я использовал метод EnrichWith, как показано ниже, но выполняется только второй декоратор (ResultistAdvertisementInjector). Если я переключу их, будет выполнен только другой декоратор.Как украсить зависимость дважды с помощью StructureMap

For<IResultListViewModelMapper<ZoekObject>>().Use<ResultListViewModelMapper<ZoekObject>>() 
    .EnrichWith(original => new ResultListDateSeparatorInjector<ZoekObject>(original)) 
    .EnrichWith(original => new ResultistAdvertisementInjector<ZoekObject>(original)); 

Как я могу обогатить зависимость двумя декораторами?

ответ

1

Вы можете просто гнездо «украшающие» классы сами, к примеру, как:

For<IResultListViewModelMapper<ZoekObject>>().Use<ResultListViewModelMapper<ZoekObject>>() 
       .EnrichWith(original => 
       new ResultListDateSeparatorInjector<ZoekObject>(
        new ResultistAdvertisementInjector<ZoekObject>(original))); 
0

Off верхней части моей головы, я думаю, что вы можете сделать что-то вроде этого:

For<IResultListViewModelMapper<ZoekObject>>() 
    .Use<ResultListViewModelMapper<ZoekObject>>() 
    .EnrichWith(original => 
     new ResultListDateSeparatorInjector<ZoekObject>(
      new ResultistAdvertisementInjector<ZoekObject>(original))); 

 Смежные вопросы

  • Нет связанных вопросов^_^