Мы определяем реализации наших сервисов во внешнем XML-файле конфигурации.У нас есть имя службы, класс для создания экземпляра, сборка, содержащая класс.Мы переходим с кода Spring AOP.
Для простых сервисов он работает без зуда с kernel.Bind().To()
.Мы загружаем сборку, создаем экземпляр, возвращаем его в To()
.
Однако некоторые службы наследуются от другого класса, например:
internal abstract Bar<T>: EntityBo<T> where T : IAddress
{
protected Bar(IAddress adr)
{
}
}
internal Foo:Bar<ILocalAddress>, ILocalAddressService {
}
Когда я пытаюсь получить ILocalAddressService из ядра,Я получаю исключение Ninject.ActivationException:
Ошибка активации ILocalAddress Соответствующие привязки недоступны, и тип не является самосвязываемым.Путь активации:
2) Внедрение зависимости ILocalAddress в параметр adr конструктора типа Foo 1) Запрос на ILocalAddressService
Ядро находится в другом проекте и не знает оинтерфейс или его реализация.
Как я могу заставить его работать?