Как передать Dispatcher в класс через конструктор NinjectC#

Место общения программистов C#
Ответить
Гость
 Как передать Dispatcher в класс через конструктор Ninject

Сообщение Гость »


У меня есть класс, который принимает параметр типа Dispatcher:

публичный класс MessagesViewModel { частный только для чтения DispatcherTimer KeepAliveTimer; public MessagesViewModel (диспетчер диспетчера) { KeepAliveTimer = новый DispatcherTimer(TimeSpan.FromSeconds(30), DispatcherPriority.Normal, KeepAlive, диспетчер); } } Как я могу использовать Ninject для настройки этого класса? Я уже использовал этот код:

kernel.Bind().ToSelf().WithConstructorArgument(new ConstructorArgument("dispatcher", Dispatcher.CurrentDispatcher)); но выдает это исключение:
Ошибка активации Dispatcher с использованием неявной самопривязки Dispatcher Конструктор для создания экземпляра типа реализации не был доступен. Путь активации: 3) Внедрение Диспетчера зависимостей в диспетчер параметров конструктора типа MessagesViewModel 2) Инъекция зависимости MessagesViewModel в параметр messagesViewModel конструктора типа QCApplicationController 1) Запрос QCApplicationController Предложения: 1) Убедитесь, что тип реализации имеет открытый конструктор. 2) Если вы реализовали шаблон Singleton, используйте вместо него привязку с помощью InSingletonScope().
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»