私が理解している限り、ActionScript の var へのバインドは、var が変更されたときに自動的に発生するイベントを介して実行されます。これについていくつか質問があります。
- クラスが EventDispatcher を明示的に拡張しない場合はどうなりますか? 本質的にクラスを EventDispatcher にするコンパイラで行われるある種の魔法はありますか?
- 静的変数へのバインドはどのように機能しますか? ある種の暗黙的な static addEventListener() 関数がクラスに追加されていますか?
- [Bindable] を静的変数に配置できるが、静的関数には配置できないことに気付きました。これはなぜですか?
編集:
Christophe Herreman の明快な回答に感謝します。ただし、上記の質問からいくつかのフォローオンがあります。誰かが私のためにギャップを埋めることができるのだろうか.
-keep オプションをコンパイラに追加し、生成されたバインディング コードを確認しました。このコードの適用方法を説明できる人はいますか? コンパイラは、ゲッターとセッターを含むクラスごとに BindableProperty というクラスを生成するようです。これは、私が書いたクラスにどのように組み込まれますか? この機能は C# の部分クラスのようなものです。これはもっぱら舞台裏のコンパイラ機能ですか、それとも自分で使用できるものですか?
BindableProperty クラスはまだ EventDispatcher を明示的に実装していません。生成されたクラスはどのようにイベント ディスパッチを実装しますか?
質問 3 で、静的関数へのバインドについて質問しましたが、実際には静的な getter および setter 関数を意味していました。これは許可されていないようです。