3

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

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

2)添加一个事件名称为“evnt_SecId”和回调函数@func的监听器。

3) 收集所有数据,按证券过滤它们并针对特定证券触发事件。

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

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

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

4

2 回答 2

1

这个怎么样:

  1. 使 SecId 成为 dynamicprops 的子类
  2. 而不是添加常规侦听器,添加 PostSet propListener 并动态添加新属性
  3. 通过设置属性的值发送消息。

我不知道该解决方案的性能特征,但它可能会满足您的需求。

于 2012-12-12T12:07:42.763 回答
1

在“主”事件触发方法中过滤 SecId 怎么样?这样过滤只会在每个触发事件发生一次。然后,该类必须将其拥有的侦听器与其注册的 SecId 相关联。

于 2012-12-12T17:10:23.517 回答