У меня есть класс, в который Ninject внедряет зависимости.Один из внедренных типов живет в другой сборке, чем Ninject.Однако модуль зарегистрирован в Assembly1.
/*Assembly1.Dll (Logical layer)*/
internal class InternalType {}
public class Gobblin {
InternalType _iType;
internal Gobblin(InternalType iType) {
_iType = iType;
}
}
public class CommonModule : NinjectModule {
public override void Load() {
Bind<IInternalType>()
.To<InternalType>()
.InRequestScope();
}
}
/*End assembly1 code*/
Моя другая сборка - это веб-приложение MVC.Один из моих контроллеров нуждается в классе Gobblin, но привязка не выполняется из-за отсутствия конструкторов Ninject.
Я понимаю, что Ninject не имеет доступа к внутреннему конструктору класса Gobblin, но я предположил, что модулькоторый зарегистрировал, что он содержался в той же сборке, с которой он работал бы.
Я мог бы просто нарушить принципы ОО и сделать общедоступный тип InternalType, но я хочу знать, есть ли другой способ первым.Спасибо за ваше время.