我正在扩展TextField以创建我自己的实现,并且有一些属性&方法我想简单地从使用中删除,例如:
override public function setTextFormat(format:TextFormat,[...]):void{}
我现在想从代码提示中隐藏setTextFormat,所以当我在其他类中输入时:
var t:MyTextField = new MyTextField;
t.set
点击ctrl + space我只看到 setPropertyIsEnumerable(...)和 setSelection(...),没有 setTextFormat的痕迹(... )。但无论我做什么它仍然出现,我在asdoc中尝试了@private metatag,以及一些组合(如@remove,@ disable,@ ignore,@ deprecated)。使用 [Exlude] 不起作用,afaik,它只适用于mxml。 有没有办法真正完成这项任务?或者我永远留下无用和冗余的代码?有些插件可能吗? (我知道我可以保持原样并且不要加倍方法,但是,不过,我宁愿按照我的方式使用它)
答案 0 :(得分: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;
}
}
}