Динамическое разрешение на основе соглашения об именах в замке Виндзор

У меня, казалось бы, простой вариант использования. Есть компонент ICsvReader. Позволять'Назовите это просто Reader здесь. Мы загружаем известный набор файлов CSV, и некоторые из них имеют заголовки, а некоторые нет. В настоящее время есть несколько читателей: Reader_Skips1Row, Reader_Skips2Rows и т. Д.

Есть ли способ зарегистрировать только один компонент и заставить Виндзор взглянуть на ключ компонента?_Skips ...» разделить и разрешить требуемый компонент с установленными соответствующими свойствами?

Я попробовал субрезольвер и средство без удачи.

РЕДАКТИРОВАТЬ

Да, есть только одна реализация, но она используется как зависимость и настраивается для разрешения по имени. Ридер настроен в коде

Component.For()
         .ImplementedBy()
         .DependsOn(new { SkipHeader = true, HeaderRowsToSkip = 2 } )
         .Named("CommaSeparetedCsvReader_Skips2Rows")
         .Lifestyle.Transient

Component.For()
         .ImplementedBy()
         .DependsOn(new { SkipHeader = true, HeaderRowsToSkip = 1 } )
         .Named("CommaSeparetedCsvReader_Skips1Row")
         .Lifestyle.Transient

Component.For()
         .ImplementedBy()
         .Named("CommaSeparetedCsvReader")
         .Lifestyle.Transient

Они используются в качестве зависимости в классе процессора. Он настроен в XML, так что он может быть изменен во время выполнения

Ответы на вопрос(1)

Ваш ответ на вопрос