どのクラスが関数と呼ばれているかを判断する方法
-
27-09-2019 - |
質問
私は現在フレックスフロントエンドに取り組んでおり、 パセリ メッセージ/イベントを渡すためのフレームワーク。
関数(この場合はイベントのコンストラクター)がそれを呼んだオブジェクトへの参照を取得する簡単な方法があるかどうか疑問に思っていましたか?
これは、私が定義している特定のイベントが、指定された1つのクラスによってのみ発送されることを保証するためです。私の考えは、コンストラクターの発信者を何らかの形でチェックし、正しいタイプでない場合はエラーを投げることです。
ここでは、代替アプローチの提案を受け入れていますが、可能であれば、パセリの「メッセージハンドラー」アプローチを使用することに理想的です。
みんなを読んでくれてありがとう。
解決
Stack Traceは機能しますが、発信者への参照を関数に簡単に渡すことができ、タイプチェックすることができます。
function dispatchEvent(caller:*):void {
if(caller is SpecificClass) {
// then dispatch event
}
}
他のヒント
免責事項:私はパセリに精通していません。
見る ActionScript 3のスタックトレース3. 。スタックトレースから発信者機能を取得できます。
ただし、1つのことがあります。スタックトレースはデバッグモードでのみ検出できます。私の知る限り、「生産」モードで発信者を取得する方法はありません。
所属していません StackOverflow