Типы регистров на основе базового класса

Я пытаюсь понять Виндзор как контейнер МОК. Проблема, с которой я сталкиваюсь сейчас, состоит в том, чтобы зарегистрировать все мои модели просмотра одновременно.

Я посмотрел на документы и подумал, что следующий код должен работать. Однако, когда я проверяю контейнер впоследствии, ничего не регистрируется.

container.Register(Classes.FromThisAssembly()
                          .BasedOn<ViewModelBase>()
                          .LifestyleTransient());

гдеViewModelBase мой базовый класс

Также попробовал следующее:

container.Register(Classes.FromThisAssembly()
         .InSameNamespaceAs<MainWindowViewModel>()
         .LifestyleTransient()); 

Необходимые зависимости могут быть разрешены, а видовые модели - нет. Я полагаю, я что-то упускаю здесь очевидное?

редактировать

Мои зависимости зарегистрированы следующим образом:

this.container.Register(Component.For<IDALHandler>().ImplementedBy<DALHandler>());
this.container.Register(Component.For<IBLHandler>().ImplementedBy<BLHandler>());

ОБНОВИТЬ

Так как предложения не сработали, я планировал добавить код из моего базового класса и viewmodel здесь. При этом я заметил, что мой viewmodel-класс былinternal sealed, При изменении его наpublic sealedвышеуказанный код работал.

Может кто-нибудь объяснить, почему внутренние классы не могут быть зарегистрированы в контейнере? Я уже тестировал другие контейнеры IOC с точно такой же настройкой, и они не жаловались на это.

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

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