Самосвязывание с Виндзорским замком в C # - PullRequest
1 голос
/ 02 марта 2012

С помощью контейнера для инъекций Ninject Dependency я могу выполнить самосвязывание способом, подобным следующему:

MyClass mc = ninjectKernel.Get<MyClass>();

Есть ли аналогичная операция в замке Виндзор?

Ответы [ 2 ]

3 голосов
/ 02 марта 2012

Соответствующий вызов Castle Windsor (если я не пропускаю некоторые сложные функции в NInject)

MyClass mc = container.Resolve<MyClass>();

и, как вы указали в комментариях, вам нужно зарегистрировать класс для себяработа в Виндзоре.

3 голосов
/ 02 марта 2012

В соответствии с комментариями Йоахима Исакссона, вот что мне нужно было сделать:

В установщике:

container.Register(Component.For<MyClass>().ImplementedBy<MyClass>());

Для разрешения:

MyClass mc = container.Resolve<MyClass>();
...