Создать динамический экземпляр Ninject - PullRequest
1 голос
/ 30 июня 2019

Я пытаюсь создать экземпляр класса динамически, используя Ninject, я дошел до того, что у меня есть переменная Type с правильным интерфейсом, и я пытаюсь получить нужный мне класс.похоже, что я передаю неверное значение в функцию get ядра.

Type instanceType = GetTypeFromAntherDll();

Kernel = new StandardKernel(new MyModule());

var instance = Kernel.Get<BaseHandler>(instanceType);

этот код имеет проблему с компиляцией, ошибка:

cannot convert from 'system.Type' to 'Ninject.Parameters.IParamter'
  • У меня есть модульсо всеми обязательными определениями

1 Ответ

0 голосов
/ 30 июня 2019

Используйте неуниверсальный метод Get, который получает тип в качестве параметра -

Type instanceType = GetTypeFromAntherDll();
Kernel = new StandardKernel(new MyModule());
BaseHandler instance = (BaseHandler)Kernel.Get(instanceType); // <-- This method
...