Виндзорская проблема AddComponentInstance - PullRequest
1 голос
/ 16 сентября 2009

Я успешно настроил замок Виндзор, используя конфигурационный файл xml, и все работает отлично. Единственная проблема заключается в том, что в методе мне нужен Windsor для передачи существующего экземпляра в конструктор, поэтому я использовал

container.Kernel.AddComponentInstance<IMyClass>(MyClassInstance);

перед методом Resolve, но это не работает, потому что Windsor создает новый экземпляр IMyClass на основе файла конфигурации xml. Такое поведение хорошо в любом другом месте, кроме этого конкретного метода, который мне нужен для передачи существующего экземпляра. Как я могу решить эту проблему. Пытался найти документацию в Интернете, но безуспешно до сих пор: (.

1 Ответ

1 голос
/ 16 сентября 2009

Вы можете сделать это:

var instance = new MyClass();
container.Register(Component.For<IMyClass>().Instance(instance));
...