我有一个包含队列的类和一个包含列表框的表单。
当用户打开表单时,它会从队列中获取所有累积的对象并将它们显示在列表框中。当队列获得新项目时,表单会立即打开,它会通过自定义事件通知新项目的表单。
关闭表单后,数据将再次累积。
我的问题如下:只要表单订阅了通知事件,它就应该将所有队列转储到表单中,并且只要有人订阅了该事件,它就会继续转储它。它不应该等到另一个项目被添加到队列中。
一种解决方案是使用计时器来检查是否有对该事件的任何订阅,然后转储它。这并不多,但我会浪费计时器的资源。
如果表单对事件的订阅本身可以触发事件似乎会更好。该应用程序非常模块化,模块通过事件与 eventNexus 进行通信,然后联系通知需要了解的每个人。
由于事件也是一个对象,所以应该可以完成这样的事情,但我没有找到任何链接。