• Как настроить ninject, чтобы можно было передавать ядру аргументы, которые использует конструктор класса?

    0X12eb
    @0X12eb
    Используйте метод расширение WithConstructorArgument:

    this.Bind<IRictagle>()
          .To<Rictagle>()
          .WithConstructorArgument("a", a)
          .WithConstructorArgument("b", b);

    Если не хотите использовать параметры на уровне создания связей ядра - реализуйте свой провайдер:

    abstract class NinjectProvider<T> : IProvider

    Ну вообще получать экземпляр напрямую из ядра не ок, делайте сразу правильно, даже если это обучающий пример:
    1. Создаем NinjectDependencyScope и реализуем интерфейс System.Web.Http.Dependencies.IDependencyScope.
    2. Создаем NinjectDependencyResolver и реализуем интерфейс System.Web.Http.Dependencies.IDependencyResolver.
    3. Создаем NinjectRegistrations и реализуем абстрактный класс Ninject.Modules.NinjectModule.

    После этого класс сам подхватит зависимости из ядра и Вы сможете пользоваться своим экземпляром класса.
    Ответ написан
    Комментировать