Как передать Dispatcher в класс через конструктор Ninject ⇐ 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().
У меня есть класс, который принимает параметр типа 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().
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Ninject – как выполнить IOC с классом, используемым в цикле Parallel.ForEach
Anonymous » » в форуме C# - 0 Ответы
- 84 Просмотры
-
Последнее сообщение Anonymous
-