Внедрение зависимостей Windsor с параметром в ctor

Я пытаюсь настроить Castle Windsor

У меня есть интерфейс IFileReader, реализованный FileReader, а FileReader имеет строковое свойство в конструкторе

Как установить это свойство, когда я пытаюсь получить экземпляр FileReader с помощью ServiceLocator?

Container.Register(Component.For<IFileReader>().ImplementedBy<FileReader>());

public class FileReader
{
public FileReader(string fileName)
.
.
.

ServiceLocator.Current.GetInstance<IFileReader>(); <- how pass filename??

person Rodrigo Juarez    schedule 17.06.2011    source источник
comment
Лучший вариант: вообще не использовать контейнер в качестве локатора службы: blog. ploeh.dk/2010/02/03/ServiceLocatorIsAnAntiPattern.aspx   -  person Mark Seemann    schedule 18.06.2011


Ответы (2)


arrow_upward
1
arrow_downward

Эта ссылка поможет вам.

Короче говоря, вы можете использовать DependsOn, ServiceOverrides, Parameters или DynamicParameters. Выберите тот, который лучше всего подходит для вас.

person oleksii    schedule 17.06.2011

arrow_upward
0
arrow_downward

Мы обсуждали эту тему в группе Alt.Net Hispano.

Вот ссылка (на испанском), если кому интересно http://groups.google.com/group/altnet-hispano/browse_thread/thread/5880f9e9fe5b5da4/200443a0b9e99040?show_docid=200443a0b9e99040

По сути, вы не можете делать то, что я хочу сделать: P

person Rodrigo Juarez    schedule 20.07.2011