Matlab:OOPS:事件块:动态(以编程方式)在运行时添加事件

时间:2012-12-12 09:07:51

标签: matlab events dynamic

我正在尝试编写一个matlab类,它接受财务数据请求,然后通过触发事件异步提供数据。整个逻辑可以定义如下。

1)使用回调函数句柄(@func)获取有关安全性(SecId)的数据请求

2)添加一个事件名称为“evnt_SecId”的侦听器和callback func @func。

3)收集所有数据,通过特定证券的证券和火灾事件对其进行过滤。

现在,除了我不能动态定义事件之外,Matlab中的一切似乎都很简单易行。目前,我必须在{events ... end}块中为每个SecId定义事件。

有没有人知道在请求到达时动态声明事件的方法?

我想到的替代解决方案:我可以有一个更新“event”和所有与之关联的侦听器,而SecId的过滤发生在回调中。由于性能原因,这种解决方案是不可接受的。

2 个答案:

答案 0 :(得分:1)

这个怎么样:

  1. 使SecId成为dynamicprops的子类
  2. 而不是添加常规侦听器,添加PostSet propListener并动态添加 新房产
  3. 通过设置属性的值来发送消息。
  4. 我不知道该解决方案的性能特征,但它可能会满足您的需求。

答案 1 :(得分:1)

如何在“主”事件触发方法中过滤SecId?这样,每次触发事件只会发生一次过滤。该类必须与它所注册的SecId关联的侦听器相关联。