2010-11-25 17 views
0

私はそれを私の独自の実装を作成するために、TextFieldを拡張していますし、いくつかのプロパティは、私は単純に使用から削除したい&方法、例えばありますFlash Builderの非表示クラスのプロパティは、(AS3)を支援する

override public function setTextFormat(format:TextFormat,[...]):void{} 

私はいくつかの他のクラスでは、私が入力したときに、そう、コードヒントからsetTextFormatを隠すために、今たい:私だけsetPropertyIsEnumerable(...)を参照してください

var t:MyTextField = new MyTextField; 
t.set 

をとCtrl +スペースを打つsetSelection(...)、トレースなしsetTextFormat(...)。しかし、私が何をしても、私はasdocで@privateメタタグを試しています。@remove、@disable、@ignore、@deprecatedなどのメークアップも試しました。 を使用する[Exlude]はafaikとして動作しません。それはmxmlでのみ動作します。 このタスクを実際に実行する方法はありますか?あるいは、私は永遠に役に立たない冗長コードを残していますか?いくつかのプラグインかもしれない? (私はちょうどそれをそのまま残して、方法を二倍にすることはできませんが、それにもかかわらず私は自分の道にしたいと思います)

答えて

2

あなたのクラスを延長することに依存していない場合は、TextFieldをラップできますSpriteの中にあるテキストフィールドで、必要なメソッドだけを "転送"します。これにより、完成時のスプライトのメソッドは引き続き得られますが、少なくとも少数になります。

package { 
    import flash.display.Sprite; 
    import flash.text.TextField; 

    public class WrappedTextField extends Sprite { 
     private var _textfield:TextField; 

     public function WrappedTextField() { 
      _textfield = new TextField; 
      addChild(_textfield); 
     } 

     public function get text():String { 
      return _textfield.text; 
     } 

     public function set text(value:String):void { 
      _textfield.text = value; 
     } 

    } 

} 
+0

はい、それは以前私が使用していた解決策ですが、次に多数のSpriteメソッドの問題が発生します。私はTextFieldについて言及しましたが、Sprite *クラスを拡張した独自の "mxml-freeコンポーネント"をたくさん書いています。子供の追加/削除など、いくつかのSpriteメソッドを削除したいと思うことがよくあります。ここに当てはまる。だから、この解決策は私にとってはいいところですが、それは素晴らしい貢献です。 – Maurycy

関連する問題