Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: Rodrigo JuarezОтветов: 2

Я пытаюсь настроить 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??
  • Лучший вариант: вообще не использовать контейнер в качестве локатора службы: blog. ploeh.dk/2010/02/03/ServiceLocatorIsAnAntiPattern.aspx Mark Seemann 18.06.2011

dependency-injectioncastle-windsor

Ответы

Ответ 1 · рейтинг 1 · oleksii

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

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

Ответ 2 · Rodrigo Juarez

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

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

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы