我正在尝试编写一个 matlab 类,它接受财务数据请求,然后通过触发事件异步提供数据。整个逻辑可以定义如下。
1) 使用回调函数句柄 (@func) 获取安全数据 (SecId) 请求
2) 添加事件名称为“evnt_SecId”的监听器和回调函数@func。
3) 收集所有数据,按特定证券的证券和火灾事件过滤数据。
现在,除了我不能动态定义事件之外,在 Matlab 中一切似乎都很容易和可行。目前,我必须在 { events ... end } block 中为每个 SecId 定义事件。
有谁知道在请求到达时动态声明事件的方法吗?
我想到的替代解决方案:我可以有一个更新“事件”和所有与之关联的监听器,同时在回调中对 SecId 进行过滤。由于性能原因,此解决方案是 Not Acceptable 。
最佳答案
这个怎么样:
- 使 SecId 成为 dynamicprops 的子类
- 不是添加常规监听器,而是添加一个 PostSet propListener 并动态添加一个 新属性(property)
- 通过设置属性值发送消息。
我不知道该解决方案的性能特征,但它可能会满足您的需要。
关于Matlab:OOPS:事件 block :在运行时动态(以编程方式)添加事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13836263/