【问题标题】:Event handling on in the .Net Micro Framework.Net Micro Framework 中的事件处理
【发布时间】:2012-12-25 23:23:28
【问题描述】:

我想知道是否有人对如何在 .Net Micro Framework 中正确执行事件有一些指示和/或很好的指南。

我已经获得了一个 Netduino,并且正在围绕各种组件制作一个小型包装框架,并且我正在尝试使其成为一种事件驱动的。开始按照我习惯的方式进行操作,但发现Microsoft.SPOT 命名空间中有几个似乎与事件相关的类和接口,而我之前没有使用过它们中的任何一个。例如:

  • 调度员
  • DispatcherFrame
  • DispatcherObject
  • DispatcherOperation
  • 调度程序定时器
  • EventHandlersStore
  • 事件路由
  • EventSink
  • IEventListener
  • IEventProcessor
  • 路由事件

还有更多。我如何正确使用所有这些?我应该使用它们吗?

作为一个例子,我想在照片/光线传感器周围创建一个包装器,只要光线水平发生变化,它就会引发一个事件。为此(我想?)我需要轮询模拟引脚的值,看看它是否改变。我可以很简单地通过在单独的线程或类似的东西上触发观察者来做到这一点。但是还有其他方法我应该这样做吗?例如,我想我不应该每个传感器都有一个线程,因为这可能会变得很多,而且这里的资源非常有限?

【问题讨论】:

标签: c# event-handling .net-micro-framework netduino


【解决方案1】:

就像在其他 .net 版本中一样使用事件。

声明和使用事件。

如果您希望订阅者使用自定义方法签名,请声明并使用委托。

如果您想遵循 (sender, args) 模式等,请构建自定义事件参数。

使用事件处理程序或内联函数订阅/取消订阅事件。

底线是微框架事件没有什么特别之处。您拥有其他版本中的所有内容,因此只需专注于为您的消费者制作一个好的 API,就像您通常会做的那样。

【讨论】:

  • .Net Micro Framework 中是否存在System.EventHandler
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-09
相关资源
最近更新 更多