Flash Builder скрывает свойства класса из помощника по содержимому (AS3) - PullRequest
0 голосов
/ 25 ноября 2010

Я расширяю TextField для создания своей собственной реализации, и есть некоторые свойства и методы, которые я хотел бы просто удалить из использования, например:

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

Теперь я хотел бы скрыть setTextFormat от хинтинга кода, поэтому, когда в каком-то другом классе я набираю:

var t:MyTextField = new MyTextField;
t.set

И нажмите Ctrl + пробел. Я вижу только setPropertyIsEnumerable (...) и setSelection (...) , никаких следов setTextFormat (...) . Но независимо от того, что я делаю, это все равно появляется, я пробовал @private metatag в asdoc, а также некоторые готовые (такие как @remove, @disable, @ignore, @deprecated). Использование [Исключить] также не работает, поскольку, afaik, оно работает только с mxml. Есть ли способ на самом деле выполнить эту задачу? Или я навсегда остался с бесполезным и избыточным кодом? Может быть какой-нибудь плагин? (Я знаю, что могу просто оставить все как есть и не дублировать методы, но, тем не менее, я бы предпочел, чтобы все было по-своему)

1 Ответ

2 голосов
/ 25 ноября 2010

Если вы не зависите от расширения вашего класса 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;
        }

    }

}
...