2009-06-10 1 views
0

私は、Pythonのデコレータ/ Lispマクロ/ Javaアノテーション(これは必ずしもそれ自身ではないことを私は知っています)の同等物をActionscriptで探しています。同様の機能を提供するツールも素晴らしいでしょう(私はLinux上でEclipse用のFlex Builderプラグインを使用しています)。AS 3にデコレータ/マクロ/注釈がありますか?

私は、Flexアプリケーションを作成し、ここに私が達成したいものですよ。私は別々のクラスでのリモート機能の様々なセットをカプセル化している

(これは時々「メッセージングゲートウェイ」または「リモートプロキシ」と呼ばれています)、それぞれの方法はそうのように、サーバー上のメソッドを反映場所:

class UserManagementService extends MyHttpService { 
    //... 
    private final _urlBase:String = "http://example.com/services/users" 
    //... 

    public function usrGet(ix:int):User 
    { 
    url = urlBase + "/get"; 
    mp:Dictionary = new Dictionary(); 
    mp["ix"] = ix; 
    result:User = this._service.varSend(url, this.sEncodeParams(mp), Class("User")); 
    return result; 
    } 
    //... 
} 

私はパラメータと関数宣言ですでにリモート関数の戻り値の型を持っているので、それだけでURLの接尾辞を追加していいだろう、このように(Pythonの擬似コード)

@remotify("/get") 
public function usrGet(ix:int):User { } 

今、それはきちんとしていませんか? ;-)

答えて

6

あなたがそうのように、ActionScriptで "メタデータ" と呼ばれるものを追加することができます。

[Remotify(prop="value")] 

詳しい情報はこちら:

http://www.adobe.com/cfusion/communityengine/index.cfm?event=showdetails&productId=2&postId=11907

+0

クール、私は気づいていなかったこれらのこと実際にカスタマイズ可能でした。私はそれが私が望むものを達成するかどうかを見ます。 –

+0

ええ、情報を実行時に利用できるように特殊なコンパイラ引数を追加し、次にそれを取得するためにdescribeType()を使用するだけです。私がリンクしている記事は非常に簡単です。がんばろう。 :) –

関連する問題