好的,事后来看,这似乎是一个愚蠢的问题,我自己也应该做,而且不应该在第一时间完成。
我有一个类Debug
,里面有一个名为trace的函数,它将TextField
放在舞台上并输出文本。
现在我正试图让Debug.trace()
函数从内部进行“正常”调试跟踪。
当然这会导致递归循环。
我想知道如何分别访问顶级。我尝试使用名称空间,如AS3 :: trace,但没有运气。
我知道解决方案是重命名我的功能以阻止冲突,但我希望这是最后的手段。所以人们建议一个不同的解决方案会有所帮助。
它在我的整个代码中被广泛使用,所以在任何地方替换它都会成为一个障碍。
感谢您对上述方案的任何“不同”解决方案。
答案 0 :(得分:1)
由于trace()
是顶级函数,并且你在Debug类中“覆盖”它,我认为不可能以另一种方式调用它。
可能的解决方法是在公共Debug类下创建一个私有类。在那里,您可以放置一个静态方法,您可以调用实际的trace()
,如此:
public class Debug
{
static public function trace(value:*) : void
{
/* your textfield code */
DebugTrace.debugTrace(value);
}
}
class DebugTrace
{
public static function debugTrace(value:*) : void
{
trace(value);
}
}