Хобрук: Ваш путь к мастерству в программировании

Обработка событий в .Net Micro Framework

Мне интересно, есть ли у кого-нибудь указатели и/или хорошее руководство о том, как правильно выполнять события в .Net Micro Framework.

У меня есть Netduino, и я играю с созданием небольшой оболочки для различных компонентов, и я пытаюсь сделать ее управляемой событиями. Начал делать так, как привык, но обнаружил, что в Microsoft.SPOT", которое кажется связанным с событием, и я не использовал ни одно из них раньше. Например:

  • Диспетчер
  • ДиспетчерКадр
  • ДиспетчерОбъект
  • ДиспетчерОперация
  • DispatcherTimer
  • EventHandlersStore
  • EventRoute
  • EventSink
  • IEventListener
  • IEventProcessor
  • маршрутизированное событие

И еще несколько. Как правильно все это использовать? Должен ли я их использовать?

В качестве примера я хотел бы создать оболочку вокруг датчика фото/освещения, которая вызывает событие всякий раз, когда изменяется уровень освещенности. Для этого (я полагаю?) мне нужно опросить значение аналогового вывода и посмотреть, изменится ли оно. Я могу сделать это довольно просто, запустив наблюдателя в отдельном потоке или что-то в этом роде. Но есть ли другой способ сделать это? Я предполагаю, например, что мне не следует иметь поток для каждого датчика, поскольку их может стать довольно много, а ресурсы здесь довольно ограничены?


  • Я всегда делал события netduino так же, как и в обычном .net. Похоже, что некоторые из этих классов полезны для микропрезентации .net: blogs.msdn.com/b/netmfteam/archive/2008/03/04/ 26.12.2012

Ответы:


1

Используйте события так же, как и в других версиях .net.

Объявляйте и используйте события.

Объявите и используйте делегаты, если у вас есть сигнатура пользовательского метода, которую вы хотите, чтобы ваш подписчик использовал.

Создайте собственные аргументы события, если вы хотите следовать шаблону (sender, args) и т. д.

Подписка/отписка на события с помощью обработчика событий или встроенной функции.

Суть в том, что в событиях микрофреймворка нет ничего особенного. У вас есть все, что есть в других версиях, так что просто сосредоточьтесь на создании хорошего API для ваших потребителей с событиями, как обычно.

26.12.2012
  • Существует ли System.EventHandler в .Net Micro Framework? 27.01.2014
  • Новые материалы

    Прогресс в технологии Трансформеров часть 3
    Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

    Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
    Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

    Приключения в Javascript, часть 1
    Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

    Понимание дженериков в TypeScript: подробное руководство
    Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

    Учебные заметки JavaScript Object Oriented Labs
    Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

    Разбор строк запроса в vue.js
    Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

    Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
    «Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..