2010-01-18 1 views
0

У меня есть простой вопрос, надеюсь ...Регистрация объекта, который имеет строковый массив в качестве параметра, используя замок Виндзор Fluent API регистрации

Я пытаюсь перейти от регистрации XML в Fluent API регистрации, но У меня есть одна проблема с регистрацией объектов, требующих массив как параметр конструктора.

Например

<component id="Example" lifestyle="transient" 
    service="Test, Example.Test" 
    type="Test, Example.Test"> 
    <parameters> 
     <C> 
     <array> 
      <item>Value One</item> 
      <item>Value Two</item> 
     </array> 
     </C> 
    </parameters> 
    </component> 

Как бы я идти о регистрации этого с беглым апи?

//the constructor for test is Test(string[] C){} 

_container.Register(Component.For<Test>().ImplementedBy<Test>().Parameters(
         Parameter 
         .ForKey("C") 
         .Eq(new string[]{"Value one","Value two"}) 
         )); 
+0

BTW, если услуга == тип вам не требуется. РеализованаBy –

ответ

3

IIRC это что-то вроде этого:

_container.Register(Component.For<Test>().ImplementedBy<Test>().DependsOn(
        Property 
        .ForKey("C") 
        .Eq(new string[]{"Value one","Value two"}) 
        )); 

Смотрите fluent registration wiki для получения дополнительной информации.

+0

Отлично! Я просто понял, что они недавно обновили страницу документации Fluent API ... Спасибо! – doobist

+0

lol, недавно означает сегодня :) И я рад, что он уже пригодится. –

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