3

財務データの要求を受け入れ、後でイベントをトリガーしてデータを非同期的に提供するmatlabクラスを作成しようとしています。ロジック全体は次のように定義できます。

1)コールバックfuncハンドル(@func)を使用してセキュリティ(SecId)に関するデータのリクエストを取得します

2)イベント名「evnt_SecId」のリスナーとコールバックfunc@funcを追加します。

3)すべてのデータを収集し、特定の証券に固有の証券および火災イベントでフィルタリングします。

イベントを動的に定義できないことを除けば、Matlabではすべてが簡単で実行可能であるように見えます。現在、{events...end}ブロックで各SecIdのイベントを定義する必要があります。

リクエストが到着したときにイベントを動的に宣言する方法を知っている人はいますか?

私が考えた代替ソリューション:SecIdのフィルタリングがコールバックで行われている間、1つの更新「イベント」とそれに関連付けられたすべてのリスナーを持つことができます。このソリューションは、パフォーマンス上の理由から受け入れられません。

4

2 に答える 2

1

これはどう:

  1. SecIdをdynamicpropsのサブクラスにします
  2. 通常のリスナーを追加する代わりに、PostSet propListenerを追加し、新しいプロパティを動的に追加します
  3. プロパティの値を設定してメッセージを送信します。

そのソリューションのパフォーマンス特性についてはわかりませんが、必要なことを実行できる可能性があります。

于 2012-12-12T12:07:42.763 に答える
1

「マスター」イベント発生メソッドでSecIdをフィルタリングするのはどうですか?このように、フィルタリングは発生したイベントごとに1回だけ発生します。クラスは、それが持っているリスナーを、それが登録されたSecIdに関連付ける必要があります。

于 2012-12-12T17:10:23.517 に答える